Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ПЛИЗ HELP!!!


kassel ©   (2006-11-09 21:32:00) 

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


Ketmar   (2006-11-10 02:21:00) [1]

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


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

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


:)


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

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


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


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

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


Ketmar   (2006-11-09 22:41:00) [4]

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

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


Джо   (2006-11-09 22:28:00) [5]

> [7] так себе

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


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


> так себе   (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:01:00) [7]

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


TUser   (2006-11-09 21:57:00) [8]

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


Chort   (2006-11-09 21:47:00) [9]

Попробуй транслит http://www.delphimaster.ru/cgi-bin/forum.pl?id=1163012810&n=18
строка Chort ©   (09.11.06 21:31) [65]

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


Джо   (2006-11-09 21:46:00) [10]

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

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


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

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


Джо   (2006-11-09 21:34:00) [12]

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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо