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
Răspunsuri la întrebare
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;
}
#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;
}