Se consideră următoarea definiție a clasei Tablou în C++
class Tablou
{
public:
int *t; // tabloul unidimensional
int n; // dimensiunea fizica si logica tabloului
// constructorul
Tablou(int dim, int a, int b, int c, int d)
{
n = dim;
t = new int[n];
t[0] = a;
for (int i = 1; i < n; i++)
t[i] = 1 + (t[i - 1] * b + c) % d;
}
// destructorul
~Tablou()
{
n = 0;
delete[] t;
}
// returneaza maximul din t
int Max()
{
// TO DO
}
// returneaza prima pozitie unde se gaseste val in t,
// sau returneaza -1 daca val nu apare in t
int Cauta(int val)
{
// TO DO
}
};
Clasa gestionează un tablou unidimensional alocat dinamic. Constructorul clasei inițializează un vector t de dimensiune dim, iar componentele sunt create după o relație de recurență. Așa cum se observă, vectorul este indexat de la 0.
Cerinţa
Scrieți definiția completă a metodelor Max și Cauta. Funcția Max trebuie să returneze valoarea maximă din vectorul t. Funcția Cauta(val) caută valoarea val în vectorul t și fie trebuie să returneze cea mai din stânga poziție unde se află valoarea val, fie să returneze -1 dacă val nu se află în t.
Restricţii şi precizări
- numele metodelor sunt
MaxșiCauta
Important
Soluţia propusă va conţine definiţia completă a funcţiilor cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.