Hier meine Version in PVX:
Code:
PRINT "Bitte geben Sie eine ganze Dezimalzahl ein,"
PRINT "f",CHR(252),"r die berechnung ins R",CHR(246),"mische Zahlensystem."
INPUT "Eingabe: ",E
E=INT(E)
Dim rz$(29),dez(29)
rz$(1) = "A"
rz$(2) = "MA"
rz$(5) = "M"
rz$(6) = "CM"
rz$(9) = "D"
rz$(10) = "CD"
rz$(13) = "C"
rz$(14) = "XC"
rz$(17) = "L"
rz$(18) = "XL"
rz$(21) = "X"
rz$(22) = "IX"
rz$(25) = "V"
rz$(26) = "IV"
rz$(29) = "I"
dez(1) = 5000
dez(2) = 4000
dez(5) = 1000
dez(6) = 900
dez(9) = 500
dez(10) = 400
dez(13) = 100
dez(14) = 90
dez(17) = 50
dez(18) = 40
dez(21) = 10
dez(22) = 9
dez(25) = 5
dez(26) = 4
dez(29) = 1
result$=""
I=1
WHILE I<>29
WHILE E-dez(I)>=0.0000
IF MOD(I,2)=1 THEN {
result$ = result$+rz$(I,1)
} ELSE {
result$ = result$+rz$(I,2)
}
E = E - dez(I)
WEND
IF MOD(I,2)=0 THEN {
I+=3
} ELSE {
I++
}
WEND
PRINT result$ Diese Aufgabe ist mit der Subtraktion, allerdings werden bei zahlen höher als "19999" das A öfter als 4 mal hintereinander eingesetzt also zum beispiel
20000 = AAAA