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:
#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: