# Array zerhacken und quersumme addieren



## Pole17 (17. November 2008)

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


----------



## SGSSGene (17. November 2008)

Hier wird dir der Modulu operator "%" weiter helfen, bin gerade etwas müde und schreibe das jetzt mal in einer kurzen Beispiel rechnung:

```
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
```


----------



## Pole17 (17. November 2008)

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 ?


----------



## SGSSGene (17. November 2008)

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:

```
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.


----------

