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.