Răspuns :
1. Dacă ești sigur că într-adevăr este absolută nevoie să stochezi astfel, în această ordine, și prin acest procedeu numărul într-un vector, atunci:
a) Va trebui să inversezi numărul cu un while
b) Va trebui, cu un alt while, să tot iei ultima cifră și să o pui în vector
Codul ar arăta așa
int a[20], k = 0;
int n = 43598, n2 = 0;
while(n > 0){
n2 = n2*10 + n%10;
n = n/10;
}
n = n2;
while(n > 0){
a[k] = n%10;
n = n/10;
k++;
}
Primul while, dacă vei încerca să îl înțelegi, va funcționa astfel
n2 = 0*10 + 8 = 8
n2 = 8*10 + 9 = 80 + 9 = 89
n2 = 89*10 + 5 = 890 + 5 = 895
... etc, și în final va ieși numărul inversat
Iar al doilea while, ia numărul inversat, și face cam la fel, doar că acum pune direct în vector.
Presupun că la sumă te descurci. :))
2. Dacă nu ești sigur de ordine, poți stoca, ce e mai recomandat, în ordine inversă, adică a[0] să fie prima cifră - cea a unităților, a[1] cifra zecilor, etc. Și în acest caz, aplici doar al doilea while, nu mai trebuie inversat numărul.
3. Dacă ai de calculat doar suma, atunci nu ai nevoie de un vector, faci un while așa:
int s = 0;
while(n > 0){
s = s + n%10;
n = n/10;
}
cout<<s;
a) Va trebui să inversezi numărul cu un while
b) Va trebui, cu un alt while, să tot iei ultima cifră și să o pui în vector
Codul ar arăta așa
int a[20], k = 0;
int n = 43598, n2 = 0;
while(n > 0){
n2 = n2*10 + n%10;
n = n/10;
}
n = n2;
while(n > 0){
a[k] = n%10;
n = n/10;
k++;
}
Primul while, dacă vei încerca să îl înțelegi, va funcționa astfel
n2 = 0*10 + 8 = 8
n2 = 8*10 + 9 = 80 + 9 = 89
n2 = 89*10 + 5 = 890 + 5 = 895
... etc, și în final va ieși numărul inversat
Iar al doilea while, ia numărul inversat, și face cam la fel, doar că acum pune direct în vector.
Presupun că la sumă te descurci. :))
2. Dacă nu ești sigur de ordine, poți stoca, ce e mai recomandat, în ordine inversă, adică a[0] să fie prima cifră - cea a unităților, a[1] cifra zecilor, etc. Și în acest caz, aplici doar al doilea while, nu mai trebuie inversat numărul.
3. Dacă ai de calculat doar suma, atunci nu ai nevoie de un vector, faci un while așa:
int s = 0;
while(n > 0){
s = s + n%10;
n = n/10;
}
cout<<s;
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!