C, Römische Zahlen in normale Zahlen umwandeln
-
Ich will ein Programm schreiben, das zuerst erkennt ob sich die Zahl um eine römische oder eine normale Zahl handelt und dann das Gegenstück ausgibt. Das ganze sollte in C umgesetzt werden.
Könnt ihr mir bei dem Problem irgendwie weiterhelfen?
-
Hallo,
1). Was genau ist dein Problem?
2). Warum postest du im C++-Forum wenn du ein C-Programm willst?
3). Wirf doch mal die Bordsuche an.
http://www.c-plusplus.net/forum/viewtopic-var-t-is-102422-and-highlight-is-r%F6misch.html
http://www.c-plusplus.net/forum/viewtopic-var-t-is-53487-and-highlight-is-r%F6misch.htmlCaipi
-
Caipi schrieb:
2). Warum postest du im C++-Forum wenn du ein C-Programm willst?
3). Wirf doch mal die Bordsuche an.Schon... Naja, du willst scheinbar einen String einlesen, der entweder sowas wie VII oder eben 7 enthält und das Gegenstück ausgibt (manche nennen es einen Konverter). Unpraktischerweise ist das römische Zahlensystem kein Stellenwertsystem wie die mit denen man beim Coden normalerweise arbeitet.
Du brauchst also einen Parser. Um eine arabische Zahl in eine römische Umzuwandeln, diese der Reihe nach auf Teilbarkeit prüfen von oben nach unten, so à la
char* eingabe; ... int zahl; ... for(zahl>0) { if(zahl%1000==0) { cout << "M"; zahl-=1000; } ... }
Okay das war jetzt nicht sooo schön aber das ist mal der Ansatz.
-
Der Tip mit der Forensuche war schon garnicht so verkehrt. Das Thema kommt alle 1-2 Monate mal ausführlich.
-