Archiv verlassen und diese Seite im Standarddesign anzeigen : Zahl zerlegen?
Hallo,
wie kann ich in C eine z.B dreistellige Zahl in drei einzelne Zahlen zerlegen? z.B 489 in 4, 8 und 9.
Kenn mich in C nicht so gut aus.
Hat die Zahl immer drei Stellen?
maprie
2006-05-31, 22:28:16
Du kannst die Zahl mit itoa() in einen String umwandeln und den dann zeichenweise ansprechen oder stufenweise durch 10 teilen, die Reste sind dann deine gesuchten Ziffern.
itoa(): http://www.cplusplus.com/ref/cstdlib/itoa.html
Nachtrag: Oder mit sprintf() in einen Puffer schreiben.
itoa ist keine Standardfunktion.
HajottV
2006-05-31, 22:42:51
T101[/POST]']Hallo,
wie kann ich in C eine z.B dreistellige Zahl in drei einzelne Zahlen zerlegen? z.B 489 in 4, 8 und 9.
Kenn mich in C nicht so gut aus.
So in der Art?
int eingabe = 489;
while (eingabe) {
printf("%i ", eingabe % 10);
eingabe /= 10;
}
Gruß
Jörg
Die Zahl ist immer dreistellig und soll dann in drei Variablen abgespeichert werden , um sie dann mit anderen dreistelligen Zahlen vergleichen zu können.
Aqualon
2006-05-31, 23:46:26
Ähm... wie soll der Vergleich denn aussehen, dass das nicht direkt geht?
Aqua
Es wird eine dreistellige Zufallszahl erzeugt und die soll dann dann erraten werden.
Mit drei einzelnen Zahlen läuft das schon, jetzt will ich das noch ein wenig verbessern.
Aqualon
2006-06-01, 00:07:47
int input = 489;
int a = input%10;
int b = (input/=10)%10;
int c = (input/=10)%10;
Dann machs so, c ist dann 4, b 8 und a 9; Besser wär natürlich ein Array und ne Schleife.
int input = 489;
int split[3];
for(int i=2;i>=0;i--) {
split[i] = input%10;
input/=10;
}
Das kannst dann auch leichter erweitern, wenn die Zahl nicht mehr dreistellig sein soll.
Aqua
T101[/POST]']Es wird eine dreistellige Zufallszahl erzeugt und die soll dann dann erraten werden.
Äh. Wie wärs einfach mit input1*100 + input2*10 + input3 und dann vergleichen? :confused:
del_4901
2006-06-01, 00:29:47
Coda[/POST]']Äh. Wie wärs einfach mit input1*100 + input2*10 + input3 und dann vergleichen? :confused:
einfache logic ist meißt die Beste ^^
Neomi
2006-06-01, 11:49:20
Coda[/POST]']Äh. Wie wärs einfach mit input1*100 + input2*10 + input3 und dann vergleichen? :confused:
Ich denke eher, er möchte auch Zwischenergebnisse wie z.B. "zwei Ziffern richtig" haben.
Neomi[/POST]']Ich denke eher, er möchte auch Zwischenergebnisse wie z.B. "zwei Ziffern richtig" haben.
MMN macht ohne Zwischenergebniss ein zerlegen nichtmal sinn ;)
Denn dann könnte man gleich "if input = generiertezufallszahl" als code verwenden.
Muss mich korrigieren:
Es soll eine dreistellige Zufallszahl erzeugt werden und die soll dann erraten werden.
Richtige Zahl an falscher Position und an richtiger Position sollen angezeigt werden.
Die dreistellige Zufallszahl soll zerlegt werden.
Weiß jetzt wie es geht.
Danke für die Antworten!
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.