Array zerhacken und quersumme addieren

Pole17

Grünschnabel
Hallo

habe folgendes Problem

möchte ein programm in C schreiben , welches mir die quersumme einer eingegebenen integer zahl errechnet. Möchte dafür ein array verwenden.

das Problem dabei ist

wenn ich eine zahl einlese
z.B. 123 dann steht diese zahl in myarray[0] wie kann ich jetzt das array so zerhacken, dass ich die zahl 1 , 2,3, habe und diese dann in eine int variable speichern kann.

wäre für hilfe dankbar
 
Hier wird dir der Modulu operator "%" weiter helfen, bin gerade etwas müde und schreibe das jetzt mal in einer kurzen Beispiel rechnung:
Code:
123 % 10 => 3; //Erste Stelle
(123-3)/10 => 12;

12 % 10 => 2; //Zweite Stelle
(12-2)/10 => 1;

1%10 => 1; //Dritee Stelle
(1-1)/10 => 0; //Ende
 
Danke für die antwort :)

Diese Lösung habe ich auch aber ist das nicht mit arrays möglich das ich jede einzelne ziffer der zahl in einnen index schreibe ?

also bei der eingabe von 133

myarray[0] steht dann 1 drin
myarray[1] steht dann 3 drin
myarray[2] steht dann 3 drin

ist das nicht möglich ?
 
Klar ist das möglich, nach dem du die Stellen hat, kannst du doch in einem Array Speicher, könnte dann etwa so aussehen, bei einer Maximal länge von 3 Zeichen, ansonsten könnte man das noch in eine elegeante Schleife packen und könnte auf Jee Länge reagieren:
Code:
int input =133;
int myarray[10]

myarray[0] = input % 10;
input = (input-myarray[0])/10;

myarray[1] = input % 10;
input = (input-myarray[1])/10;

myarray[2] = input % 10;
input = (input-myarray[2])/10;

Wie man sieht steht da 3 mal das "gleiche", für eine Schleife müsste man nur testen ob "input" == 0 ist, wenn ja kann die schleife abgebrochen werden.
 
Zurück