Ca o mica observatie, daca toate numerele sunt negative, care va fi maximul? Conform algoritmului, ar fi 0. Nu exista in problema nicio restrictie privind numerele mai mici decât 0. Stiind ca n > 0, avem siguranța că se va citi cel puțin un numar, asadar ai putea inițializa maximul și minimul cu prima valoare.
#include <fstream>
int main()
{
std::ifstream file_in("minmax.in");
std::ofstream file_out("minmax.out");
int N; file_in >> N;
int Maxim, Minim, Numar;
file_in>>Numar;
Maxim = Numar;
Minim = Numar;
for (int contor = 0; contor < N-1; contor++)
{
file_in >> Numar;
if (Numar > Maxim)
Maxim = Numar;
if (Minim > Numar)
Minim = Numar;
}
file_out << Minim << Maxim;
}
Pentru o serie de valori, spre exemplu:
3
-3 -2 -5
conform algoritmului tau, maximul ar fi 0. Conform corecției, ar fi -2. Desigur, nu e singura metoda.