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

1. In fișierul NUMERE.IN se afla numere naturale (mai mici sau egale cu 100).
Se cere:
a)Să se tipărească în ordine crescatoare toate numerele distincte de 2
cifre citite din fișier
b)Să se tipărescă numărul(numerele) care au apărut în fișier de cele mai
multe ori
c) Să se tipărească cel mai mare număr cu cifre distincte care se poate
forma din cifrele apărute în numerele citite din fișier

Răspunsuri la întrebare

Răspuns de TPatric
0

Răspuns:

#include <iostream>

#include <fstream>

using namespace std;

ifstream f("NUMERE.IN");

int c[101], cifre[10];

int main(){

   int n, Max=0, i, aparitii=0, nr=0;

   while(f>>n){

       // PENTRU PUNCTUL A&B

       c[n]++;

       // PENTRU PUNCTUL C

       if(n==0) cifre[0]=1;

       while(n>0){

           cifre[n%10] = 1;

           n/=10;

       }

   }

   f.close();

   // PUNCTUL A

   for(i=10; i<=99; i++)

       if(c[i]) cout<<i<<" ";

   cout<<endl;

   // PUNCTUL B

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

       if(aparitii<c[i]) aparitii=c[i]; nr=i;

   for(i=0;i<=100;i++){

       if(c[i] == aparitii) cout<<i<<" ";

   }

   cout<<endl;

   // PUNCTUL C

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

       if(cifre[i]){

           Max = Max*10+i;

       }

   cout<<Max;

   return 0;

}

Explicație:

Alte întrebări interesante