Informatică, întrebare adresată de 1234556789, 8 ani în urmă

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ăspunsuri la întrebare

Răspuns de c6779d3c
2

Răspuns:

#include <iostream>

using namespace std;

// a)

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

{  // functia ceruta

   max = a[1];

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

       if (a[i] > max)

           max = a[i];

}

// b)

int main()

{

   int n, i, max;

   cin >> n;

   int v[n], a[n];

   for (i = 1; i <= n; i++)   // citim vectorul

       cin >> v[i];  

   for (i = 1; i <= n; i++)   // construim cel de-al doilea vector

       {

           p (v, i, max);  

           a[i] = max;

       }  

   for (i = 1; i <= n; i++)   // afisam

       cout << a[i] << " ";

return 0;

}

Explicație:

Sper ca ai inteles si ca ti-am fost de ajutor! Daca ai neclaritati, spune-mi.

Alte întrebări interesante