Eingabe auf Array verteilen
-
Hi Leute,
Ich habe bereits einen deklarierten Array mit zugewiesenen Werten:
int zweiterBlock[6] zweiterBlock[0] = 7 ; // zweiterBlock[1] = 3 ; // zweiterBlock[2] = 1 ; // Wer ne Vermutung hat was das hier ist zweiterBlock[3] = 1 ; // bitte posten :D zweiterBlock[4] = 0 ; // Würd mich mal interessieren ob ihr drauf kommt zweiterBlock[5] = 1 ; //Ich möchte nun eine Eingabe auf den Array aufteilen:
Wenn die Eingabe 392139 erfolgt soll in
zweiterBlock[0] der Wert 3 geschrieben werden,
in zweiterBlock[1] der Wert 9 usw.Ich glaube iergendwann ( vor etwa einem Monat )
habe ich mal gesehen wie das jemand mit einer Schleife gelöst
hat, weiß aber den Kontext nicht mehr :-&Ich hoffe ihr habt mal wieder (wie fast immer wenn ich was frage :D) Rat
Grüße aus NRW
-
Hi!
Du bekommst die jeweils letzte Ziffer der Eingabe mit folgendem Modulo Konstrukt:
int LetzteStelle = Eingabe%10; LetzteStelle /= 10;Das einfach in ner Schleife ausführen, dann hast du deine einzelnen Ziffern!
-
KPC schrieb:
Hi!
Du bekommst die jeweils letzte Ziffer der Eingabe mit folgendem Modulo Konstrukt:
int LetzteStelle = Eingabe%10; LetzteStelle /= 10;Das einfach in ner Schleife ausführen, dann hast du deine einzelnen Ziffern!
Nicht wirklich. Das muß:
int LetzteStelle = Eingabe%10; Eingabe /= 10;heißen.
-
Z2 schrieb:
KPC schrieb:
Hi!
Du bekommst die jeweils letzte Ziffer der Eingabe mit folgendem Modulo Konstrukt:
int LetzteStelle = Eingabe%10; LetzteStelle /= 10;Das einfach in ner Schleife ausführen, dann hast du deine einzelnen Ziffern!
Nicht wirklich. Das muß:
int LetzteStelle = Eingabe%10; Eingabe /= 10;heißen.
Und wie ist es dann bei der vorletzten?
Modulo 100?

-
int stellenArray[6]; // ... unsigned long accu = zahlVonIrgendwoher; // befüllt immer alle Stellen in stellenArray, was nicht gebraucht wird wird auf 0 gesetzt for(size_t i = 0; i < sizeof(stellenArray); ++i, accu /= 10) stellenArray[i] = accu % 10; // wenn was übriggeblieben ist war die zahl zu gross! if(accu != 0) { printf("Zahl zu gross!\n"); abort(); }
-
Plotzenhotz schrieb:
int stellenArray[6]; // ... unsigned long accu = zahlVonIrgendwoher; // befüllt immer alle Stellen in stellenArray, was nicht gebraucht wird wird auf 0 gesetzt for(size_t i = 0; i < sizeof(stellenArray); ++i, accu /= 10) stellenArray[i] = accu % 10; // wenn was übriggeblieben ist war die zahl zu gross! if(accu != 0) { printf("Zahl zu gross!\n"); abort(); }Dein Code vertauscht die Zahlen....
{ unsigned long accu = BN; for(size_t i = 0; i < 4; ++i, accu /= 10) ersterBlock[i] = accu % 10; }ersterBlock[0] = 2 ; // ersterBlock[1] = 8 ; // Diese Nummer soll ersterBlock[2] = 8 ; // ueberschrieben werden! ersterBlock[3] = 2 ; //cout << ersterBlock[0].... << ersterBlock[3] << endl;Ausgabe: Bitte geben Sie die Behoerden-Nummer ein! 4123 3214
-
Achherrjeh, stimmt. Auch egal:
int stellenArray[6]; // ... unsigned long accu = zahlVonIrgendwoher; unsigned i = 0; for(; accu && (i < sizeof(stellenArray)); ++i, accu /= 10) stellenArray[i] = accu % 10; if(accu != 0) { printf("Zahl zu gross!\n"); terminate(); } std::reverse(&stellenArray[0], &stellenArray[i]); std::fill(&stellenArray[i], &stellenArray[sizeof(stellenArray)/sizeof(stellenArray[0])], 0);Oder so...
