👤

Scrieți un program care determină suma cifrelor unui nr natural x citit de la tastatura. Ex:n=7,S=11+13+25+(-3)+0+127+5
În structura repetitiva cu test final vă rog


Răspuns :

Răspuns:

Nu știu ce exemplu ai dat tu acolo, dar cu siguranță nu este ceva corect!

Suma cifrelor înseamnă să iei fiecare cifră și să o aduni cu cifra care o precedă. De exemplu, pentru numărul 1234 suma cifrelor este 1+2+3+4 = 10.

Pentru a putea scrie un program, este nevoie să ne gândim, mai întâi, cum putem face asta. Cea mai simplă metodă este aceea de a extrage succesiv fiecare cifră a numărului și de a o aduna la sumă. Vom extrage de la "coada" numărului, pentru simplitate.

Operația prin care extrag ultima cifră este x % 10. Operatorul "%" determină restul unui număr, adică numărul de după virgulă. De exemplu, 123:10 = 12,3 dar 123%10 = 3.

Mai simplu, spunem că cu această operație extragem ultima cifră.

După ce am extras ultima cifră (care se poate memora într-o variabilă, să spunem cif = x % 10), trebuie să adunăm variabila c la sumă. Pentru asta, voi utiliza o altă variabilă, s, inițializată cu 0 (pentru că, inițial, suma cifrelor este 0). Deci, practic, adunăm s cu c.

Apoi trebuie să tăiem ultima cifră (pentru că deja am folosit-o), și să trecem la următoarea, repetând pașii de mai sus.

Structură repetitivă cu test final înseamnă să verifici condițiile la final. O astfel de structură este do... while();

int x, s = 0, c;

cin >> x;

do{

c = x % 10;

s = s + x % 10;

x = x / 10; //operatia prin care tai cifra folosita

while(x != 0);

cout << s;

Sper că te-am ajutat!

Vă mulțumim că ați ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, vă rugăm să ne contactați. Revenirea dumneavoastră ne va bucura, iar pentru acces rapid, nu uitați să ne salvați la favorite!


En Trainingsy: Alte intrebari