Pentru un număr natural cu cel mult 9 cifre, sa se determine numărul de cifre distincte din care se compune.
Ex: 13221 are 3 cifre distincte
.
Eu am încercat asa, dar nu imi da bine. Cred ca e incompleta sau are mici greșeli.
Anexe:


Răspunsuri la întrebare
Răspuns de
3
#include <iostream>
using namespace std;
int nr,x,c=0,y,i;
int cif(int x)
{
for(i=1;i<=9;i++)
{ y=x;
nr=0;
while(y!=0)
{
if(y%10==i)
nr++;
y=y/10;
}
if(nr!=0)
c++;
}
return c;
}
int main()
{ cin>>x;
cout<<cif(x);
return 0;
}
In programul tau c-ului ii dadeai valoarea 0 de fiecare data cand crestea valoarea lui i. Asa ai pierdut numarul cifrelor. Si conditia if(nr>1) e gresit deoarece nr poate fi si doar 1 nu neaparat strict mai mare
using namespace std;
int nr,x,c=0,y,i;
int cif(int x)
{
for(i=1;i<=9;i++)
{ y=x;
nr=0;
while(y!=0)
{
if(y%10==i)
nr++;
y=y/10;
}
if(nr!=0)
c++;
}
return c;
}
int main()
{ cin>>x;
cout<<cif(x);
return 0;
}
In programul tau c-ului ii dadeai valoarea 0 de fiecare data cand crestea valoarea lui i. Asa ai pierdut numarul cifrelor. Si conditia if(nr>1) e gresit deoarece nr poate fi si doar 1 nu neaparat strict mai mare
mili69:
Mulțumesc mult! Am verificat-o si e bine :)
Alte întrebări interesante
Matematică,
8 ani în urmă
Ed. muzicală,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă