Titlul: cifre comune pentru doua numere Scris de: crash sky din Martie 17, 2013, 22:14:15 Salut!
Sunt beginner in ale C-ului si am o problema. Nu stiu ce gresesc! Trebuie sa aflu cate cifre comune au doua numere citite de la tastatura. De exemplu, pt 21348 si 14513 sa rezulte 3 cifre comune (2,3,4). Asta am facut eu, dar imi numara inclusiv aparitiile duble ale unei cifre. Adica daca e 1 in primul numar o data si de doua ori in al doilea imi numara doua cifre comune. #include<stdio.h> #include<conio.h> void main(){ long int n1,n2; int m1,m2,k=0,nr,s=0; printf("n1=");scanf("%ld",&n1); printf("n2=");scanf("%ld",&n2); nr=n2; while(n1>0){ m1=n1%10; while(n2>0){ m2=n2%10; if(m1==m2) k=1; n2=n2/10; } if(k==1) s=s+1; n1=n1/10; n2=nr; } printf("%d",s); getch(); } Titlul: Răspuns: cifre comune pentru doua numere Scris de: Nicu B. din Martie 18, 2013, 10:34:01 In primul rand nu trebuia sa postezi aici, ci la sectiunea "Informatica", dar probabil iti va muta un admin thread-ul.
Problema se rezolva asa, daca nu stii vectori: - Parcurgi cifrele de la 0 la 9 - Verifici daca cifra i se gaseste in cele doua numere - Ai grija sa nu strici numele, fiindca apoi la pasul urmator nu mai poate sa afle programul cifrele comune. O implementare a unui astfel de cod fara vectori ar fi asta: (n-am mai declarat variabile etc., l-am scris direct, te descurci tu probabil) Cod: for(i=0; i<=9; i++) Titlul: Răspuns: cifre comune pentru doua numere Scris de: crash sky din Martie 18, 2013, 15:55:31 Da, algoritmul tau functioneaza. Multumesc! Acum am inteles si ce hibe avea al meu!
|