"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

[Solved] [C] - zahlen einlesen

muene 04.01.2010 - 09:11 1725 2
Posts

muene

Addicted
Avatar
Registered: Jan 2004
Location: @Home
Posts: 430
Guten Morgen,

meine C Kenntnisse sind leider schon etwas eingerostet, deswegen wende ich mich an euch.

Problem: ich möchte eine 4 stellige Zahl einlesen und dabei jede Ziffer in einem eigenen Array haben. Problem dabei ist, dass die 4 Zahlen eingegeben werden sollen und dann erst enter gedrückt wird (nicht nach jeder Ziffer ein Enter)
z.B. Eingabe: 9856 Enter
dann soll zahl[0]=9, zahl[1]=8, zahl[2]=5 und zahl[3]=6

hab das jetzt umständlich versucht zu lösen, mit in einer int einlesen und dann mittels komplizierten hinundherrechnen auf die ziffern zu kommen.

int help;
int zahl[4];
printf("Zahl zwischen 0000 und 9999 eingeben: ",x);
scanf("%i", &help);
zahl[0]=help/1000;
zahl[1]=(help-((help/1000)*1000))/100;
...


das muss doch eleganter gehn oder?

Tia
Bearbeitet von muene am 04.01.2010, 10:24

Neo-=IuE=-

Here to stay
Registered: Jun 2002
Location: Berndorf, NÖ
Posts: 3228
mir würden zwei sachen einfallen
1) chars einlesen und umrechnen/wandeln
2) nicht deine komplizierte rechnung, sondern modulo verwenden
also
zahl[0]=help/1000
zahl[1]=(help%1000)/100
zahl[2]=(help%100)/10
zahl[3]=(help%10)

muene

Addicted
Avatar
Registered: Jan 2004
Location: @Home
Posts: 430
Hi,

danke für die schnelle Antwort. Hab natürlich wieder mal viel zu kompliziert gedacht. Werd die modulo Lösung nehmen.

DANKE.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz