Informatică, întrebare adresată de ddavidd, 9 ani în urmă


Să se determine cifrele comune a două numere naturale date, cu cel mult 9 cifre fiecare.(utilizand subrograme-functii,in c++).

Răspunsuri la întrebare

Răspuns de artur99
2
void cifre_comune(int a, int b){
    short int c1[10], c2[10], i;

    for(i=0;i<10;i++)c1[i]=c2[i]=0;

    while(a){
        c1[a%10] = 1;
        a = a/10;
    }

    while(b){
        c2[b%10] = 1;
        b = b/10;
    }
    for(i=0;i<10;i++)
        if(c1[i]==1 && c2[i]==1) cout<<i<<" ";
}
        

ddavidd: multumesc mult! am inteles
artur99: Super, cp! :D
ddavidd: Explici foarte bine...daca ai timp,te rog ajuta-ma si cu asta : "Se citesc n numere naturale de la tastatură. Se cere să se verifice dacă numerele date sunt sau nu în ordine crescătoare (n este număr natural dat, 1 n 1000)."
artur99: La asta, inițial setezi un ok=1 la început, apoi, dacă o să găsești o neregulă la șir, setezi ok=0 și gata. Neregula o aflăm așa: verificăm la fiecare număr dacă nu cumva anteriorul a fost mai mare, dacă a fost mai mare, înseamnă că e greșit, că nu e în ordine crescătoare.
artur99: Deci trebuie să citești primul număr și îl copiezi într-o variabilă numită uc. Apoi tot citești numerele și verifici fiecare dacă este mai mare decât uc(dacă este mai mic decât uc înseamnă că am găsit un număr mai mic decât precedentul, deci setăm ok=0) și după ce verifici, scrii numărul tocmai citit în uc.
artur99: cin>>t;
uc=t;
for(...){
cin>>t;
if(t<uc) ok=0;
uc = t;
}
artur99: ceva de genul
ddavidd: ok,ms mult..am cam inteles,sper sa reusesc sa-l pot scrie,asta mi-e mai greu de obicei
ddavidd: oricum mersi,o noapte faina!
artur99: N-ai pentru ce, mulțumesc, la fel!
Alte întrebări interesante