RÖMISCHE ZAHLEN
-
knivil schrieb:
Also ich habe es mir damals einfach gemacht. Ich habe die einfache Regel von wikipedia angewandt und dann ersetzt: Klick
Interessant. Mit nachträglichen Textersetzungen hatte ich auch geliebäugelt. Was gibt Dein Programm für 999 aus?
-
stimmt das so?
http://img20.imageshack.us/img20/7482/80710496.th.jpgKannst du mir das in eine Sprache übersetzen, die ich verstehe? Oder (noch besser) in eine, die mein Computer versteht?
-
Fuer 999: CMXCIX! Nach Regel 7 auf http://www.diaware.de/html/roemzahl.html geht IM nicht.
-
knivil schrieb:
Fuer 999: CMXCIX!
Die spinnen, die Römer.
-
volkard schrieb:
Die spinnen, die Römer.
Und stell dir erstmal vor, du musst schriftlich Addieren, Subtrahieren, Multiplizieren und Dividieren ...
-
hmm schoen xD aber dass muss ich in einem struktogramm umsetzen..
er bewertet nur s.gramm
-
Es wurde die Lösung doch schon so gut wie genannt (bis auf das Umdrehen am Ende, das brauchst du nicht).
Also:
Schleife die überprüft ob Zahl > 0
Im Schleifenkörper mit Fallauswahl überprüfen wie groß Zahl ist= 50: ergebnis := ergebnis + "C" ; Zahl := Zahl - 50
= 40: ergebnis := ergebnis + "XL" ; Zahl := Zahl - 40
usw.
Hinter while dann noch die Ausgabe.Eventuell "größer als 50" ersetzen durch "liegt zwischen 50 und 89" - musst du mal in deinen Unterlagen nachsehen wie das gefordert ist.
-
trozdem brauche ich ein struktogramm
-
ups hab die letzen posts net gesehen ich werde es mal versuchen
-
http://img692.imageshack.us/img692/5684/romisch.jpg
und stimmt das so?
-
Wenn du es so schreibst kannst du die äußere while-Schleife weglassen. Und in der letzten while-Schleife hast du einen Fehler in der Bedingung.
Sind die ersten beiden Anweisungen Vorgaben? Falls ja dann solltest du das ganze mit 2 Schleifen nur machen.
Eine äußere die den Index der beiden Felder hochzählt und eine innere die dann die Werte ausgibt. Also statt x >= 90 dann x >= a[index] und bei Ausgabe dann Ausgabe a[index]. Verkürzt das ganze dann auch ungemein.