-Mario- Geschrieben 25. Februar 2005 Geschrieben 25. Februar 2005 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 Zitieren
bionaut Geschrieben 26. Februar 2005 Geschrieben 26. Februar 2005 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* Zitieren
baba007 Geschrieben 26. Februar 2005 Geschrieben 26. Februar 2005 ich mache Heute mal die gleiche aufgabe in C und werde es dir morgen hier präsentieren. vielleicht hilft es dir (ansatzweise)... gruß Zitieren
-Mario- Geschrieben 26. Februar 2005 Autor Geschrieben 26. Februar 2005 danke euch beiden ich hoff es hilft mir baba Zitieren
Vampire Geschrieben 26. Februar 2005 Geschrieben 26. Februar 2005 @bionaut: Und da soll noch einer durchblicken???? Aber interessiert wäre ich auch mal an der Lösung. Einfach so aus neugierde... Zitieren
Gast -andmaN Geschrieben 3. März 2005 Geschrieben 3. März 2005 @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. . Zitieren
perdian Geschrieben 3. März 2005 Geschrieben 3. März 2005 Und da soll noch einer durchblicken????Man munkelt, dass die alten Römer das mehrere Jahrhunderte geschafft haben - und ganz ohne Computer Zitieren
-Mario- Geschrieben 3. März 2005 Autor Geschrieben 3. März 2005 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 Zitieren
baba007 Geschrieben 3. März 2005 Geschrieben 3. März 2005 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. Zitieren
Vampire Geschrieben 4. März 2005 Geschrieben 4. März 2005 Man munkelt, dass die alten Römer das mehrere Jahrhunderte geschafft haben - und ganz ohne Computer Vielleicht ist deswegen deren Reich zusammengebrochen.... Zitieren
Empfohlene Beiträge
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.