Răspuns:
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("NUMERE.IN");
int c[1001], cifre[10];
int main(){
int n, Min=0, i;
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=99; i>=10; i--)
if(c[i]) cout<<i<<" ";
cout<<endl;
// PUNCTUL B
for(i=0;i<=1000;i++)
if(c[i]%2==0 && c[i]>0) cout<<i<<" ";
cout<<endl;
// PUNCTUL C
for(i=1;i<=9;i++)
if(cifre[i]){
Min = Min*10+i;
if(cifre[0] && i==1)
Min = Min*10;
}
cout<<Min;
return 0;
}
Explicație: