Hi kann mir jemand den Quelltext geben mit dem man in Delphi 2005 unter Konsolenanwendung arabische zahlen in römische umwandeln kann. Wenn möglich bis Donnerstag. Vielen Dank
arabische in römische Zahlen umwandeln
-
-
-
Viel Spass dabei - liest flüssig wie ein Fremdwörterlexikon...
Also ich würde es so machen: Ich leg mir als erstes eine Tabelle mit den röm. Buchstaben und ihren Zahlenwerten an. Dann gehe ich mit einer Schleife den String rückwärts! durch und gucke mir das Zeichen an. Ich nehm den Wert aus der Tabelle für das Zeichen und wenn der größer ist, als der vom Zeichen davor addiere ich die Zahl aus der Tabelle zum Ergebnis andernfalls ziehe ich den ab.
Habs noch nie gemacht, aber wenn ich die römischen Zahlen richtig erinnere sollte das so klappen. Austesten kannst du das hier. Da das Javascript ist, kannst du dir sonst den Code angucken, der sollte sich etwas flüssiger lesen als der Basic Kram.~ mfg SeBa
Ich beantworte keine PMs zu Computer-/Programmierproblemen. Bitte wendet euch an das entsprechende Forum.
[Blockierte Grafik: http://i.creativecommons.org/l/by-sa/3.0/80x15.png] -
Ich habs für eine Graphische Anwendung schon gemacht. mal sehn ob ich die funktion finde
-
hier ein Programm in C... sollte in Delphi nicht viel anders gehen
Quellcode
- #include <stdio.h>
- #include <stdlib.h>
- int main(int argc, char *argv[]) {
- char ziffern[13][3] = { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X",
- "IX", "V", "IV", "I"};
- int zahlen[13] = { 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 };
- int zahl, i=0;
- /*scanf("%d", &zahl);*/
- zahl = atoi(argv[1]);
- while (zahl > 0) {
- if (zahl/zahlen[i] >= 1) {
- printf(ziffern[i]);
- zahl -= zahlen[i];
- }
- else {
- i++;
- }
- }
- printf("\n");
- return 0;
- }
-
OK mal was in Delphi, nicht so elegant wie das von d0nUt aber funktioniert.
Ist für Win32 geschrieben musst halt in eine Konsolenanwendung umbauen
Quellcode
- procedure TForm1.toRoem(value: Integer);
- begin
- Edit_Roem.Text := '';
- while value >= 1000 do
- begin
- Edit_Roem.Text := Edit_Roem.Text + 'M';
- value := value - 1000;
- end;
- if value >= 900 then
- begin
- Edit_Roem.Text := Edit_Roem.Text + 'CM';
- value := value - 900;
- end
- else if value >= 500 then
- begin
- Edit_Roem.Text := Edit_Roem.Text + 'D';
- value := value - 500;
- end
- else if value >= 400 then
- begin
- Edit_Roem.Text := Edit_Roem.Text + 'CD';
- value := value - 400;
- end;
- while value >= 100 do
- begin
- Edit_Roem.Text := Edit_Roem.Text + 'C';
- value := value - 100;
- end;
- if value >= 90 then
- begin
- Edit_Roem.Text := Edit_Roem.Text + 'XC';
- value := value - 90;
- end
- else if value >= 50 then
- begin
- Edit_Roem.Text := Edit_Roem.Text + 'L';
- value := value - 50;
- end
- else if value >= 40 then
- begin
- Edit_Roem.Text := Edit_Roem.Text + 'XL';
- value := value - 40;
- end;
- while value >= 10 do
- begin
- Edit_Roem.Text := Edit_Roem.Text + 'X';
- value := value - 10;
- end;
- if value >= 9 then
- begin
- Edit_Roem.Text := Edit_Roem.Text + 'IX';
- value := value - 9;
- end
- else if value >= 5 then
- begin
- Edit_Roem.Text := Edit_Roem.Text + 'V';
- value := value - 5;
- end
- else if value >= 4 then
- begin
- Edit_Roem.Text := Edit_Roem.Text + 'IV';
- value := value - 4;
- end;
- while value >= 1 do
- begin
- Edit_Roem.Text := Edit_Roem.Text + 'I';
- value := value - 1;
- end;
- end;
-
danke sehr
-
Teilen
- Facebook 0
- Twitter 0
- Google Plus 0
- Reddit 0
-
Benutzer online 1
1 Besucher
-
Tags
- PHP
- JavaScript
- de
- http:
- HTML
- quellcode
- www
- Wie
- Delphi
- Windows
- cpp
- VB
- Java
- 1
- easy-coding
- Basic
- Programm
- Python
- Visual
- pascal
- Schleife
- Suche
- Text
- for
- perl
- zahl
- zeichen
- Linux
- ruby
- Tabelle
- 2
- n
- Code
- shell
- delphie
- zahlen
- 18
- 05
- microsoft
- wiki
- Programmieren
- deutsch
- net
- programmierung
- source
- länge
- Funktion
- buchstaben
- phyton
- C
- 3
- rätsel
- 6
- 10
- 25
- vba
- quelltext
- while
- schreiben
- deutsche
- if
- 7
- C#
- C++
- 21
- Liste
- vbs
- suchen
- 2009
- 22
- turbo
- Integer
- taschenrechner
- 4
- 5
- schreibe
- schrift
- &
- 9
- anwendungen
- Algorithmus
- datum
- bedeutet
- 2005
- 12
- mobile
- konsolenanwendung
- konvertieren
- 8
- else
- wikipedia
- c-programm
- java-programm
- 36
- basis
- 34
- umrechnen
- 13
- 15
- Programmcode
- natürliche
- Die
- juava
- funktioniert
- eingeben
- ziffern
- 24
- l
- struktogramm
- satz
- visual basic\
- 26
- dezimalzahl
- dezimalzahlen
- ziffer
- Dezimal
- Umrechnung
- hex
- umwandlung
- umwandeln
- umrechner
- 28
- 31
- 23
- C-Programmierung
- 29
- Rom
- 69
- 2006
- 33
- 39
- 44
- visual studio
- zähle
- 47
- 65
- 48
- iv
- 04
- vb2010
- lautet
- normale
- 344
- 567
- xc
- 17
- Jahreszahlen
- 08
- umwandler
- konverter
- phython
- xl
- römische
- arabische
- arabischer
- in c\
- latein
- heißen
- indische
- cm
- edit_roem
- ix
- 345
- 56
- roemische
- römischen
- römisch
- xviii
- arabisch
- 1314
- römisce
- 1956
- 342
- 183
- 1718
- lateinische
- XXIX
- Zahlenumwandler
- XXII
- kreutsworträtsel
- römische zahl 56\
- römischezahl
- römiche
- röische
- römishe
- rhömische
- Römischeziffern
- römischer
- XXXIV
- 44-
- römsiche
- kata
- röomische
- arabische-in-roemische-zahlen-
- griechische
- 560
- 1968
- xlvi
- 349
- perl-
- arab
- persische
- arabischen
- WIIN
- 4444
- roemisch
- 444
- zahlen-buchstaben
- Jänner
- 185
- additive
- inrömische
- aribische
- römer
- arabisches
- römisches
- abisches
- LXIX
- römiscjhe
- 343
- r%C3%B6mische
- r%C3%B6mische%20Zahlen%20in%20
- römische zahlen
- zahlerömische
- umwandlungsverfahren
- umwandungsverfahren