Römische Zahlenprogramm

Neue Frage »

Guennikolode Auf diesen Beitrag antworten »
Römische Zahlenprogramm
Hallo

Weiß net ob ich da richtig bin, aber das Programm für das umrechnen von Römische Zahlen funktioniert net.

http://www.matheboard.de/roemische_zahlen_umrechnen.php

Habe es getestet mit Dezimal in Römisch, dezimal 10 eingetippt und bekam XII raus!

mfg
AD Auf diesen Beitrag antworten »

Ja, da hat sich ganz offensichtlich ein kräftiger Bug eingeschlichen. Müssen unserer PHP-Spezis wohl nochmal ran. Augenzwinkern

Danke für den Hinweis!
kurellajunior Auf diesen Beitrag antworten »

Das ja mal krass verwirrt

Böser Fehler meinerseits, und leider habe ich den Quellcode durch Laptopverlust nicht mehr. Kann den mir nochmal jemand zukommen lassen?

Jan
Leopold Auf diesen Beitrag antworten »

Der Umrechner liefert

10 -> XII
100 -> CII
1000 -> MII

Wenn man vor oder nach der Eingabe noch Leerzeichen eingibt, liefert er jeweils II.

Vielleicht hilft's ja bei der Bug-Suche.
kurellajunior Auf diesen Beitrag antworten »

Danke, wenn man 2 Blank eingibt kommt XX
Bei 3 Blank kommt CC
bei 4 Blank kommt MM
bei 5 Blank wieder II

Ich guck mir das mal an, sobald mir jama den Quellcode zuschicken kann

Jan
kurellajunior Auf diesen Beitrag antworten »

So, bitte nochmal testet.

Wer römischen Unsinn eingibt erhält auch Unsinn, ansonsten sollte das alles funzen
 
 
babelfish Auf diesen Beitrag antworten »

die 1 => I funktioniert noch, aber

10 => X0
100 => C0
1000 => M0

er hängt jetzt irgendwie nullen dran... aber andere zahlen, wie 7 oder 75 bearbeitet er/sie/es richtig!
kurellajunior Auf diesen Beitrag antworten »

Hönk? Hach das Leben ist doch hart. Gleichmal nachgucken

Aargh Tipfehler böse

bitte folgende Zeile
code:
1:
if ($pDec == 0) return '0';

ersetzen durch
code:
1:
if ($pDec == 0) return $output;


Danke, Jan
Thomas Auf diesen Beitrag antworten »

Zitat:
Original von kurellajunior
Hönk? Hach das Leben ist doch hart. Gleichmal nachgucken

Aargh Tipfehler böse

bitte folgende Zeile
code:
1:
if ($pDec == 0) return '0';

ersetzen durch
code:
1:
if ($pDec == 0) return $output;


Danke, Jan


Erledigt smile
Chris2005 Auf diesen Beitrag antworten »

kann mir jemand den algorithmus posten um die software in java nachzuprogrammieren?

danke, mfg chris
kurellajunior Auf diesen Beitrag antworten »

Hehe, willst Du meinen Algoritmus, oder den PHP-Quellcode?

In Java solltest Du es allerdings grundsätzlich anders angehen - da stehen ja viel schönere Möglichkeiten mit Objekten zur verfügung als hier bei PHP.
Chris2005 Auf diesen Beitrag antworten »

Kommt ganz darauf an, mit PHP5 kann man auch wunderbar objektorientiert programmieren! wenn du mir den algorithmus posten könntest, wär mir echt geholfen!

mfg chris
kurellajunior Auf diesen Beitrag antworten »

Array rom: I, V, X, L, C, D, M
Array dec: 1, 5, 10, 50, 100, 500, 1000

Der Clou besteht aus zwei Schritten.

Beginn Rekursion

zuerst wird die Sonderregel für die letzten Zeichen überprüft:

990 = XM
999 = IM

wenn also durch Addition von I,X oder C eine glatte 10er Potenz erreicht wird muss der Zusatz zurückgegeben werden

Ansonsten:
berechne 10er Potenz
nimm erste Stelle
Wenn 9: schreibe mit richtiger 10er Potenz (CM, XC oder IX- dafür die Arrays Augenzwinkern
sonst Wenn 4: schreibe mit richtiger 10er Potenz (CD, XL oder IV)
sonst
wenn größer 4: füge 5er Stelle hinzu
füge anzahl einer hinzu (Stelle mod 5)

rekrusion ohne erste Stelle (Dezimalzahl um die höchste Stelle kürzen)

Hilft das? oder willst Du einfach nur den Code?
Chris2005 Auf diesen Beitrag antworten »

danke, das schaut nicht so schlecht aus, werde mal versuchen es in c oder java zu implementieren

danke, mfg chris
kurellajunior Auf diesen Beitrag antworten »

Bin auf das Javaergebnis gespannt. Und würde mich über den Code freuen Augenzwinkern
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »