a) Scrieţi definiţia completă a unui subprogram P cu 3 parametri, care primeşte prin
intermediul primului parametru, a, un tablou unidimensional de cel mult 100 de numere
întregi, prin intermediul celui de al doilea parametru, k, un număr natural (k<101) şi
furnizează prin intermediul celui de al treilea parametru al său, max, cea mai mare dintre
valorile a1, a2,..., ak din tablou.
Exemplu: pentru k=5 şi tabloul a=(7,3,8,4,6,9......), în urma apelului valoarea variabilei
max este 8. (4p.)
b) Să se scrie un program C/C++ care citeşte de la tastatură un număr natural n (n<101),
apoi n numere întregi, având maximum 4 cifre fiecare şi construieşte în memorie şi afişează
apoi pe ecran un tablou unidimensional de n numere întregi, cu proprietatea că valoarea
termenului de pe poziţia i (i=1,2,...,n) din acest tablou este egală cu cea mai mare dintre
primele i valori din şirul dat. Se vor folosi apeluri utile ale subprogramului P.
Exemplu: dacă se citesc de la tastatură n=12 şi valorile 4 6 3 7 8 1 6 2 7 9 10 8
se va afişa pe ecran tabloul 4 6 6 7 8 8 8 8 8 9 10 10.

Răspuns :

Răspuns:

a)

void P(int a[], int k, int &max)

{

   for(int i = 1; i <= k; i++)

       if(a[i] > max)

           max = a[i];

}

b)

int main()

{

   int n, a[105], rezultat[105];

   cin >> n;

   for(int i = 1; i <= n; i++)

       cin >> a[i];

   for(int i = 1; i <= n; i++)

   {

       int max = 0;

       P(a, i, max);

       rezultat[i] = max;

   }

   for(int i = 1; i <= n; i++)

       cout << rezultat[i] << ' ';

   return 0;

}

Explicație:

(aparent brainly pune automat i mare, trebuie cu i mic)