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

2. In fișierul NUMERE.IN se afla numere naturale (mai mici sau egale cu
1000). Se cere:
a)Să se tipărească în ordine descrescatoare toate numerele distincte de 2
cifrecare nu se găsesc în fișier
b)Să se tipărescă numărul(numerele) care au apărut în fișier de un număr
par de ori
c) Să se tipărească cel mai mic 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[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:

Alte întrebări interesante