Zum Inhalt springen

C++ Wiederholungen ; arabische zahlen --> römische zahlen


Empfohlene Beiträge

Geschrieben

hallo erstmal , bin neu hier und blick bei c++ nicht wirklich durch :)

ich muss für die schule ein programm und ein struktogramm machen

es handelt sich um wiederholungen und das beispiel sieht so aus :

"Schreibe ein Programm das eine arabische Zahl in eine römische Zahl umwandelt.

M ... 1000 D ... 500 C ... 100 L ... 50 X ... 10 V ... 5 I ... 1

900 ... CM 400 ...

CD 90 ... XC 40 ... XL 9 ... IX 4 ... IV"

nunja ich weiß nicht wirklich wie ich anfangen soll etc, mit for oder so ähnlich

kann mir bitte jemand helfen es ist echt sehr wichtig

Geschrieben

Hallo,

vielleicht hilft Dir das schon mal weiter ?

Die Regeln der römischen Zahlen:

1.

Grundsätzlich sind die Ziffern in absteigender Reihenfolge von links nach rechts angeordnet, wobei sich der Wert der Zahl aus der Summe der Ziffern ergibt. Ausnahme hierbei ist Regel Nr. 3.

(Bsp.: XVIII = 18)

2.

Die Ziffern I, X und C dürfen höchstens dreimal hintereinander stehen

(also nicht 4 -> IIII oder 90 -> LXXXX)

3.

Damit Zahlen wie 4 oder 90 dennoch möglich sind, wird eine kleinere Ziffer vor eine größere gestellt. Das bedeutet, dass die kleinere von der größeren subtrahiert wird.

(Bsp.: IV -> 5-1 = 4, XC -> 100-10=90)

4.

Es darf maximal eine kleinere Ziffer vor der nächst größeren stehen.

(z. B. 8: IIX falsch, VIII richtig)

5.

Die Ziffern V, L und D dürfen in einer Zahl nur einmal und nicht vor einer größeren Ziffer stehen

(z.B. 95: VC falsch, XCV richtig)

6.

Die Ziffern I, X, C dürfen nur von der nächsthöheren Ziffer subtrahiert werden.

(z.B.: 99: IC falsch, richtig XCIX)

Wenn Du magst schau ich hier auch gerne ueber Deine ersten Erfolge drueber

Gruessle und viel Erfolg

bio*

Geschrieben
@bionaut:

Und da soll noch einer durchblicken????

...wieso denn nicht... :cool:

Aber zum Thema:

Wenn du dir das Leben relativ umständlich, aber sehr einfach machen willst, kannst du doch einfach mit verschachtelten "if's" prüfen und dann umwandeln. ;)

.

Geschrieben

ich hab nen kleinen ansatz.. hier:

void main()

{int Zahl,a;

cout<<"Zahl eingeben:";

cin>>Zahl;

a=Zahl/1000;

...

so und jetzt wenn ich für Zahl 1000 zum Beispiel eingetippt hätte

würde a = 1 sein... dann könnte ich 1 M ausgeben(da ja M für 1000 steht)

...if (a=1)

cout<<"M"; ...

aber da mann ja auch z.B 4000 eintippen kann muss ich das ja irgendwie zählen

also kann dieser ansatz nicht ganz stimmen...

könnt ihr mir vll bissl weiterhelfen ? wär nett

Geschrieben

also ich hatte total wenig zeit daher auch kein quellcode von mir.

die maximale zahl ist 3999, danach wird einfach mal 1000 oder 10000 oder 100000 multipliziert

dann haben wir entweder ein strich drüber oder auch an den seiten oder ganz drum rum ...

vielleicht schaffe ich es mich am WE damit auseinander zu setzen ...

ist eine anspruchsvolle aufgabe, wenn man nicht auf einen switch zurückgreift.

wenn sie den quellcode nicht sehen wollen kannst du einfach alle 3999 zahlen selbst definieren und dann jeweils 3999 cases einbauen ;)

ausserdem gibt es zwei unterschiedliche methoden, einmal die standard einfache methode und dann noch die erweiterte methode.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...