Informatică, întrebare adresată de Mothyque, 8 ani în urmă

1. Scrieti un program (cifmax.cpp) care citeste de pe prima linie a fisierului cifmax.in un numar natural n,
si de pe linia a doua, inca n numere naturale x1, x2, ..., xn.

Programul afiseaza in fisierul cifmax.out cifra c care apare de cele mai multe ori
in oricare numar xi de pe linia a doua a fisierului de intrare si numarul sau de aparitii k.
Daca sunt mai multe cifre care apar de acelasi numar maxim de ori, se afiseaza cifra cea mai mare.

Exemplu:
cifmax.in
3
7252 32545 452

cifmax.out
5 4

Explicatie:
Cifra c = 5 apare un numar maxim de ori, adica de k = 4 ori.
Cifra 2 apare de acelasi numar maxim de ori, dar 2 < 5 si se afiseaza 5

Răspunsuri la întrebare

Răspuns de uionutalin
1

Răspuns:

#include<fstream>

using namespace std;

ifstream cin("cifmax.in");

ofstream cout("cifmax.out");

int main()

{

   int n,i,x,v[10]= {0},max=0;

   cin>>n;

   for(i=1; i<=n; i++)

   {

       cin>>x;

       while(x!=0)

       {

           v[x%10]++;

           x=x/10;

       }

   }

   for(i=0; i<=9; i++)

       if(v[i]>max)

           max=v[i];

   for(i=9; i>=0; i--)

       if(v[i]==max)

       {

           cout<<i<<" "<<v[i];

           break;

       }

   return 0;

}

Explicație:


al522838: Hei mă poate ajuta și pe mine cineva la ultima mea întrebare la fizica va rog jur ca dau coroana
Alte întrebări interesante