Informatică, întrebare adresată de Utilizator anonim, 8 ani în urmă

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.

C++
Rezolvare corecta;
if (rezolvare gresita)
{
cout<<"ce ma";
}

Răspunsuri la întrebare

Răspuns de pmarian98
3

#include <fstream>

using namespace std;

ifstream f("maximpar.in");

ofstream g("maximpar.out");

int main()

{

   int n,max=-1,ap=1,x;

   f>>n;

   while(n)

   {

       f>>x;

       if(x==max)

           ap++;

       if(x%2==0 && x>max)

           max=x;

       n--;

   }

   if(max==-1)

   g<<-1;

   else

   g<<max<<" "<<ap;

   return 0;

}


Utilizator anonim: Nu o poti atasa intr-un fisier text?
Utilizator anonim: ...
Utilizator anonim: 20p.
pmarian98: #include
using namespace std;

ifstream fin("maximpar.in");
ofstream fout("maximpar.out");

int main()
{
int n,i,x,maxim=-1,apare=0;
fin>>n;
for(i=1;i<=n;i++)
{
fin>>x;
if(x%2==0)
{
if(x>maxim)
{
maxim=x;
apare=1;
}
else if(x==maxim)
{
apare++;
}
}
}
if(maxim>=0)
{
fout< }
else
{
fout<<-1;
}

fin.close();
fout.close();

return 0;
}
pmarian98: solutia oficiala daca zici ca sol mea de 100% iti da 20p
Alte întrebări interesante