Römische Ziffern
Übersicht

timmeTheOnly |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
... Ich habe alles nut überflogen, aber ich weiß, dass NIE mehr als drei Ziffern hinreeinander stehen dürfen (IVCL statt CXXXXVI)
MfG T-Master |
||
![]() |
shure_kyuNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
47 ist XLVII
und damit hier nicht ständig irreführungen mit den regeln passieren hier mal ne ganz gute seite zu dem thema + umrechner zum nachprüfen http://www.diaware.de/html/roemzahl.html und nebenbei wenn ihr den rechner komplettieren wollt könnt ihr ja noch die zusatz zeichen " ![]() ![]() ![]() ![]() |
||
_______//¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\________ ◄Blitz 3D/MAX • PC - 2x 3.16Ghz, 4GB-Ram, ATi HD 4890 1024MB• win7 • site$ Rush2Play ° My-Htc.de► ¯¯¯¯¯¯¯\__________________________________________________________________________//¯¯¯¯¯¯¯¯ BBP-RSS FEED Halt dich auf dem laufenden! (C)Shure_kyu |
![]() |
Black Spider |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mr.Keks hat Folgendes geschrieben: wie du auf http://de.wikipedia.org/wiki/R...tionsregel nachlesen kannst, geht die subtraktionsregel anders: sie gilt nicht nur bei IV, sondern auch bei allen anderen ziffern.
soll heißen: man muss zuerst spion-atoms code laufen lassen und dann nochmal den ganzen string durchgehen, ob da vier gleiche zeichen aufeinander folgen, die nicht die höchste ziffern sind. ist dies der fall, so kommt die subtraktionsregel zum tragen. (also drei zeichen entfernen und einmal das nächsthöhere zeichen einfügen.) ja, aber was ich meinte sollte eig. klar gewesen sein. Es fehlten wirklich nur ein paar Zeilen und das wars. Außerdem finde ich die jetzige funktion die Zuletzt gepostet wurde eigentlich sehr gut und vollkommen ausreichend; mal ehrlich, wer braucht denn schon Römische Zahlen bis 10000 in seinem Spiel, und selbst wenn würde es denn meisten nicht auffallen wenn 47 IIIL statt XLVII oder was auch immer wäre... Egal, ist auf jedenfall was schönes bei rausgekommen ^^ |
||
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif |
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ok, registriert, bei mehr als 3 Ziffern überleg ich mir nochwas...
MfG |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo!
Erstmal sorry wegen Doppelpost! Hab mich grad durch die Site gequält und nun wollt ich wissen, welche regel ich beachten soll: http://www.diaware.de/html/roemzahl.html hat Folgendes geschrieben: Besondere Regel: (wird hauptsächlich an Schulen gelehrt)
I steht nur vor V und X X steht nur vor L und C C steht nur vor D und M oder http://www.diaware.de/html/roemzahl.html hat Folgendes geschrieben: Bsp: falsch: XCIX = 99; richtig: IC = 99
Bei der Beachtung der besonderen Regel 7, gilt diese Regel 9 nicht. Also mir ist ja letztere lieber... was mein ihr? MfG |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
~Update~
Bin zwar lange nicht so weit wie ich gern wär ( das subtraktionsgesetz ist nicht so einfach wie ich dachte ), aber hab den alten code nochmal optimiert ( siehe erster post ), der neue ist nun komplett anders, hat aber halt noch seine Fehler ( subtraktionsgesetz springt bei z.b. 50 ein und schreibt VLV was ja irgendwo auch richtig ist ![]() Code: [AUSKLAPPEN] Local number = 50 Global arraysize = 6 Dim Presets$(arraysize,1) Initpresets() update = 1 While Not KeyDown(1) If update = 1 Cls Locate 0,0 Print number Print RomeNumbers(number) update = 0 EndIf If KeyDown(200) Then number = number +1:Delay 200:update = 1 If KeyDown(208) Then number = number -1:Delay 200:update = 1 Wend Function Initpresets() Presets$(0,0) = "1" : Presets$(0,1) = "I" Presets$(1,0) = "5" : Presets$(1,1) = "V" Presets$(2,0) = "10" : Presets$(2,1) = "X" Presets$(3,0) = "50" : Presets$(3,1) = "L" Presets$(4,0) = "100" : Presets$(4,1) = "C" Presets$(5,0) = "500" : Presets$(5,1) = "D" Presets$(6,0) = "1000" : Presets$(6,1) = "M" End Function Function RomeNumbers$(number,strg$="") If number <= 0 Then Return strg$ Local temp Local temp2 If number > Int(Presets(arraysize,0)) Then Return RomeNumbers$(number - Int(Presets(arraysize,0)),strg$ + Presets(arraysize,1)) For x = 0 To arraysize If number = Int(Presets(x,0)) Then Return strg$ + Presets(x,1) For y = 1 To x+1 If number < Int(Presets(x+1,0)) Then temp2 = Int(Left(Presets(x+1,0),1)) If temp2 = 1 Then temp2 = Int(Presets(x+1,0)) / 10 Else temp2 = Int(Presets(x+1,0)) / temp2 EndIf temp = Int(Presets(x+1,0)) - Int(Presets(x+1-y,0)) If Int(Presets(x+1,0)) - temp <= temp2 Then If number - temp => 0 And number - temp < temp2 Then Return RomeNumbers$(temp, strg$ + Presets(x+1-y,1) + Presets(x+1,1) ) EndIf EndIf EndIf Next If number > Int(Presets(x,0)) Then If number < Int(Presets(x+1,0)) Then Return RomeNumbers$(number - Int(Presets(x,0)),strg$ + Presets(x,1)) EndIf EndIf Next Return strg$ End Function MfG ~Edit~ Bei dem Code kann nun jeder neue Zahlen einbauen, es muss nur die Arraysize geändert werden und die Zahlen nach dem Muster in die InitPresets eingefügt werden! |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group