#2269
Cerința
Se dau n numere naturale. Determinați cel mai mare număr par introdus și numărul său de apariții.
Date de intrare
Fișierul de intrare maximpar.in conține pe prima linie numărul n, iar pe a doua linie n numere naturale separate prin spații.
Date de ieșire
Fișierul de ieșire maximpar.out va conține pe prima linie numerele maxim si apare, reprezentând maximul par dintre numerele de pe a doua linie a fișierului de intrare și aparițiile acestuia, dacă fișierul de intrare conține cel puțin un număr par, respectiv -1, în caz contrar.
Restricții și precizări
1 ≤ n ≤ 200
numerele de pe a doua linie a fișierului de intrare vor fi mai mici decât 1.000
Exemplu
maximpar.in
6
9 6 9 8 9 8
maximpar.out
8 2
Explicație
În fișierul de intrare sunt 6 numere, cel mai mare număr par este 8 și apare de 2 ori.
Răspunsuri la întrebare
Răspuns:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream f("maximpar.in");
ofstream g("maximpar.out");
int n, a, maxim, apare=-1, i, ap=0;
f >> n >> a;
if (a%2==0) { maxim=a; apare=1; ap=1; i=1;}
else
{
i=1;
while (a%2 && i<n)
{
f >> a;
++i;
}
if (i<=n && a%2==0)
{
ap=1; maxim=a; apare=1;
}
}
if (ap)
{
while (i<n)
{
f >> a;
++i;
if (a%2==0)
{
if (a>maxim) { maxim=a; apare=1; }
else if (a==maxim) ++apare;
}
}
g << maxim << " " << apare << endl;
}
else g << -1 << endl;
f.close(); g.close();
return 0;
}
Explicație:
https://pastebin.com/Vq9Gj4FC