Array & int einzeln Speichern [c]

mmp05

Ensign
Dabei seit
Okt. 2005
Beiträge
209
Ich muss wissen, wie ich an einzelne zahlen aus einer Int eingabe drankomme:

Prog soll wie folgt anfangen:

printf ("Dezimalzahl eingeben: ");
scanf ("%d", deziZahl);


Danach soll die eingegebene Zahl (deziZahl) in den integer
Array zahlen[] geschrieben werden, wobei jede einzelne Zahl einen Platz im array einnehmen soll

z.B.:
deziZahl = 1234;
Array[0] == 1;
Array[1] == 2;
Array[2] == 3;
Array[3] == 4;


Diese zahlen werde ich als nächstes in binärzahlen umrechnen und sie ausgeben:
Array*(pow(2,n-1))


Ich kann z.B. die eingabe als Sting sehen und danach mit atoi casten ...
Für Strings gibt es die Function gets(Arrayname) -> welche die einzelnen Zeichen in den Array packt ...


Gibt es vielleicht eine Schönere Methode das anzustellen?
Wichtig dabei ist ... vom benutzer darf nur eine Eingabe erfolgen?
Gibt es vielleicht einen mathematischen Weg?
 

Boron

Commander
Dabei seit
Sep. 2001
Beiträge
2.784
Gibt es einen zwingenden Grund diese Umrechnungen über das int-Array zu machen?
Ansonsten schau dir mal die Funktion sprintf() (bzw. snprintf()) an. Diese Funktionen können so ziemlich alles in alles andere umwandeln.
 

ich3k

Lt. Junior Grade
Dabei seit
Mai 2003
Beiträge
275
array[0] = deziZahl / 1000;
array[1] = (deziZahl / 100) % 10
array[2] = (deziZahl / 10) % 10
array[3] = deziZahl % 10

wär ein mathematischer Weg, sicher nicht der schönste, aber er sollte seinen Zweck erfüllen
 
Top