Римские в арабские и наоборот
Автор: Gua
WEB-сайт: http://delphibase.endimus.com
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Конвертация : Римские -> арабские ; Арабские->Римские
Зависимости:
Автор: Gua, fbsdd@ukr.net, ICQ:141585495, Simferopol
Copyright:
Дата: 03 мая 2002 г.
***************************************************** }
const
R: array[1..13] of string[2] =
('I', 'IV', 'V', 'IX', 'X', 'XL', 'L', 'XC', 'C', 'CD', 'D', 'CM', 'M');
A: array[1..13] of Integer =
(1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000);
..............
function ArabicToRoman(N: Integer): string; //Арабские в римские
var
i: Integer;
begin
Result := '';
i := 13;
while N > 0 do
begin
while A[i] > N do
Dec(i);
Result := Result + R[i];
Dec(N, A[i]);
end;
end;
function RomanToArabic(S: string): Integer; //Римские в арабские
var
i, p: Integer;
begin
Result := 0;
i := 13;
p := 1;
while p <= Length(S) do
begin
while Copy(S, p, Length(R[i])) <> R[i] do
begin
Dec(i);
if i = 0 then
Exit;
end;
Result := Result + A[i];
p := p + Length(R[i]);
end;
end;
|