Zmena cislic

Programovacie jazyky, rady, poradňa...
PAuLi3
Darca
Darca
Používateľov profilový obrázok
Príspevky: 4737
Registrovaný: 28 dec 2006, 18:33
Bydlisko: Komjatice,Nitra
Kontaktovať používateľa:

Zmena cislic

Príspevok od používateľa PAuLi3 »

Zdravim , prosim vas vedeli by ste pomoct s tymtot programom v delphi?
zmena rimskych cislic na arabske a naopak

PLS neviete pomoct?
gwixt
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3912
Registrovaný: 24 sep 2005, 16:50
Bydlisko: Trash-Can

Príspevok od používateľa gwixt »

arabske na rimske

Kód: Vybrať všetko

function prevodnarimske(cislo: integer): String;
var res:string;
    modulo: integer;

    function prepocitaj(rad,cislo: integer): String;
    var pomres, a, b, c: string ;
        i : integer;
    begin
       pomres := '';
       case rad of
       1: begin
            a:= 'I'; b := 'V'; c := 'X';
          end;
       10: begin
            a:= 'X'; b := 'L'; c := 'C';
           end;
       100: begin
              a:= 'C'; b := 'D'; c := 'M';
            end;
       1000: begin
               for i:=1 to cislo do pomres:= 'M'+pomres;
             end;
       end;

       if rad<>1000 then
       case cislo of
       1: pomres := a + pomres;
       2: pomres := a+a + pomres;
       3: pomres := a+a+a + pomres;
       4: pomres := a+b + pomres;
       5: pomres := b + pomres;
       6: pomres := b+a + pomres;
       7: pomres := b+a+a + pomres;
       8: pomres := b+a+a+a + pomres;
       9: pomres := a+c + pomres;
       10: pomres := c + pomres;
       end;


       result:= pomres;
    end;

begin
 res:= '';
 while(true) do begin

   modulo := cislo mod 10;
   cislo := cislo div 10;
   res :=   prepocitaj(1,modulo)+res;
   if cislo=0 then break;

   modulo := cislo mod 10;
   cislo := cislo div 10;
   res :=   prepocitaj(10,modulo)+res;
   if cislo=0 then break;

   modulo := cislo mod 10;
   cislo := cislo div 10;
   res :=   prepocitaj(100,modulo)+res;
   if cislo=0 then break;

   res :=   prepocitaj(1000, cislo)+res;

 end;
 result := res;

end;
pouzitie

Kód: Vybrať všetko

rimske := prevodnarimske(569);
Napísať odpoveď