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
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
Chimie,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă