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

Cerinţa
Se dă un şir cu n elemente, numere naturale. Să se verifice dacă toate elementele şirului au toate cifrele distincte.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi cele n elemente ale şirului, separate prin spaţii.

Date de ieşire
Programul afișează pe ecran mesajul DA, dacă toate elementele şirului au toate cifrele distincte, respectiv NU în caz contrar.

Restricţii şi precizări
1 ≤ n ≤ 100
elementele şirului vor avea cel mult 9 cifre


Va rog un program in C++ pentru problema aceasta


ModernMind: Nu am inteles exact, se doreste ca fiecare numar in parte sa aiba cifrele distincte sau toate numerele unite sa aiba cifrele diferite.
ModernMind: Ex: daca sirul citeste 45 23 84, se afiseaza Da sau Nu ?
laurachirila5: Da
laurachirila5: trebuie ca fiecare numar in parte sa aiba cifrele distincte

Răspunsuri la întrebare

Răspuns de ModernMind
3

In cazul in care ai nelamuriri legate de rezolvare, simtete liber sa pui intrebari.

Am folosit un vector frecventa de aparitie (fr)


#include <iostream>

using namespace std;

int main()

{

   int n,x,ok=1,fr[11]={0};

   cin>>n;

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

       cin>>x;

       for(int j=1; j<=9; j++) fr[j]=0;

       while(x>0) {

           fr[x%10]++;

           if(fr[x%10]>1) ok=0;

           x=x/10;

       }

   }

   if(ok==1) cout<<"DA";

   else cout<<"NU";

   return 0;

}

Răspuns de mocanualexandrp2ikb6
1

#include <iostream>

#include <cmath>

using namespace std;

int v[11];

void curata() {

   int i;

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

       v[i]=0;

}

int verifica() {

   int i,ok=1;

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

       if(v[i]>1) {

       ok=0;

       break;

   }

   if(ok==1)

       return 1;

   return 0;

}

int main() {

   long long n,i,x,k;

   cin>>n;

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

       curata();

       cin>>x;

       while(x) {

           v[x%10]++;

           x/=10;

       }

       k=verifica();

       if(k==0) {

           cout<<"NU";

           return 0;

       }

   }

   cout<<"DA";

   return 0;

}

Alte întrebări interesante