Форум: "Начинающим";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
Вниз
ПЛИЗ 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.068 c