C++: Se considera tabloul A[1..n] cu elemente numere naturale. Scrieti un program care va calcula max si min elementelor din tabloul A folosind subprograme de calcul al celui mai mare si celui mai mic dintre 2 numere.
Răspunsuri la întrebare
#include <iostream>
using namespace std;
//Vezi tu aici ce limita trebuie sa ai
const int nmax = 10000;
int v[nmax];
int maxx(int a, int b)
{
if (a > b)
return a;
return b;
//Sau return a > b ? a : b;
}
int minn(int a, int b)
{
if (a < b)
return a;
return b;
//Sau return a < b ? a : b;
}
int main()
{
int n, nrMax, nrMin, i;
cout << "Introduceti numarul de elemente urmat de valorile tabloului" << endl;
cin >> n;
for (i = 0; i < n; i++)
cin >> v[i];
nrMax = v[0];
nrMin = v[0];
for (i = 1; i < n; i++)
//Pornim de la 1 pentru ca am initializat maximul si minimul pe primul element al tabloului, asa ca nu mai trebuie sa il comparam
{
//Calculam maximul dintre elementul de rand si maximul actual (la fel si pentru minim)
nrMax = maxx(nrMax, v[i]);
nrMin = minn(nrMin, v[i]);
}
cout << "Numarul minim: " << nrMin << endl << "Numarul maxim: " << nrMax << endl;
return 0;
}
Ce subrograme? din enunţ nu e clar. Poate 2 subprograme, una află minimul din tablou, a doua - maximul din tablou ?
using namespace std;
int main()
{
const int N = 5;
int a[N], max = -1000000000, min = 1000000000;
cout << "Enter valorile tabloului: " << endl;
for (int i = 0; i < N; i++)
cin >> a[i];
for (int i = 1; i < N; i++)
if (a[i] > max)
max = a[i];
for (int i = 0; i < N; i++)
if (a[i] < min)
min = a[i];
cout << "Elementul minim: " << min << endl ;
cout << "Elementul maxim: " << max << endl ;
system("PAUSE >> null");
return 0;
}