Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.26;
Скачать: CL | DM;

Вниз

ПЛИЗ HELP!!!   Найти похожие ветки 

 
kassel   (2006-11-09 21:32) [0]

Как написать прогу которая переводит арабское число в римское и обратно?


 
Джо ©   (2006-11-09 21:34) [1]

> Как написать прогу которая переводит арабское число в римское
> и обратно?

Традиционно. Пальцами рук.


 
*fine*   (2006-11-09 21:41) [2]

Удалено модератором


 
Джо ©   (2006-11-09 21:46) [3]

"Не могу молчать!" (c) Толстой Л.Н.

А насчет "испражняться" — это к зеркалу.


 
Chort ©   (2006-11-09 21:47) [4]

Попробуй транслит http://delphimaster.net/view/2-1163012810/
строка Chort ©   (09.11.06 21:31) [65]

Только перепиши под цифры


 
TUser ©   (2006-11-09 21:57) [5]

Есть в местном faq и много где еще. Но учти, что римское число - это непойми что такое. В разные периоды истории Рима сстема записи чисел была разная. Даже в Ёкселе таких функций штуки три, а не одна.


 
так себе   (2006-11-09 22:01) [6]

Смотри книгу Озерова "Советы программистов" стр 32 Преобразование арабских чисел в римские"


 
так себе   (2006-11-09 22:22) [7]


> так себе   (09.11.06 22:01) [6]
> Смотри книгу Озерова "Советы программистов" стр 32 Преобразование
> арабских чисел в римские"

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, Buttons, StdCtrls;

type
 TForm1 = class(TForm)
   Edit1: TEdit;
   Edit2: TEdit;
   SpeedButton1: TSpeedButton;
   Label1: TLabel;
   Label2: TLabel;
   procedure SpeedButton1Click(Sender: TObject);
 private
   { Private declarations }
   function DecToRoman(Decimal: integer): string;
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.DecToRoman(Decimal: integer): string;
 const
   Romans: array[1..13] of string = ("I","IV","V","IX","X","XL","L",
                                     "XC","C","CD","D","CM","M");
   Arabic: array[1..13] of integer = (1,4,5,9,10,40,50,90,100,400,500,900,1000);
 var
   i: integer;
 begin
   result := "";
   for i := 13 downto 1 do
     while (Decimal >= Arabic[i]) do
     begin
       Decimal := Decimal - Arabic[i];
       result := result + Romans[i];
     end;
 end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
 Edit2.Text := DecToRoman(StrToInt(Edit1.Text));
end;

end.


 
Джо ©   (2006-11-09 22:28) [8]

> [7] так себе

На "1000" числа заканчиваются?


 
Ketmar ©   (2006-11-09 22:41) [9]

>[8] Джо(c) 9-Nov-2006, 22:28
>На "1000" числа заканчиваются?
реально -- нужны обычно только года, так что заканчиваются. %-)

глянул в свои исходники -- у меня тоже до 1000. я даже не знаю, как выразить 100,000. по-моему, это уже словами будет.


 
так себе   (2006-11-09 22:47) [10]


> Джо ©   (09.11.06 22:28) [8]
> > [7] так себе
>
> На "1000" числа заканчиваются?

Я привел только пример из книги Озерова и не более. Если надо больше - можно доработать, смысл ясен


 
Джо ©   (2006-11-09 22:51) [11]

Я, собственно, о том, что в коде нету чего-то вроде
else
 Result := "Числа закончились!";


:)


> я даже не знаю, как выразить 100,000. по-моему, это уже
> словами будет.

Хинт. Иногда, для того, чтобы увеличить значение цифры в 1000 раз, над соответствующим значком писали горизонтальную черту, AFAIR. ;)


 
Ketmar ©   (2006-11-10 02:21) [12]

>[11] Джо(c) 9-Nov-2006, 22:51
>Хинт. Иногда, для того, чтобы увеличить значение цифры в
>1000 раз, над соответствующим значком писали
>горизонтальную черту, AFAIR. ;)
когда доживу до 100,000 года -- буду править скрипты. и не раньше. %-)



Страницы: 1 вся ветка

Текущий архив: 2006.11.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.05 c
15-1162971575
SergP
2006-11-08 10:39
2006.11.26
Как распечатать документ .PDF?


6-1152433865
anton773
2006-07-09 12:31
2006.11.26
закачка файла


2-1162973089
oooop
2006-11-08 11:04
2006.11.26
Цикл for.


6-1152097394
Dstr
2006-07-05 15:03
2006.11.26
Передача файла на множество компов на IndyUDP


15-1162935130
default
2006-11-08 00:32
2006.11.26
На что Вы недавно говорили/думали "О! Вот это красиво" ?