Страница 1 из 1
помогите написать програмку плиз
Добавлено: 20 мар 2008, 23:19
Паша
Помогите пожалуйста написать довольно таки нетяжелую программу, не думаю что она заберёт у вас много времени. Программа перевода арабских чисел в римские. Надо сделать через циклы (желательно через For).
Re: помогите написать програмку плиз
Добавлено: 20 мар 2008, 23:32
Serge_Bliznykov
1) поищите, в разделе алгоритмы вроде бы есть такой...
2) Вы забыли указать на каком языке программирования.
Re: помогите написать програмку плиз
Добавлено: 20 мар 2008, 23:47
Паша
Програмка должна быть написана на Паскале
Re: помогите написать програмку плиз
Добавлено: 21 мар 2008, 00:00
Паша
Я не нашёл в алгоритмах (может быть плохо искал),видел подобной сложности задачи но именно той которая мне нужна нету ))))
Re: помогите написать програмку плиз
Добавлено: 21 мар 2008, 00:01
Паша
Народ выручайте
Re: помогите написать програмку плиз
Добавлено: 21 мар 2008, 01:07
Serge_Bliznykov
ладно... так уж и быть...
помни мою доброту (просто повезло тебе - нашёл у себя в загашничке) ;-))
Код: Выделить всё
{Источник: "Наука и жизнь" N12 1986 cтр. 95 }
{Алгоритм: В. Птицын г.Москва }
type str2 = string[2];
const
Rims : array[1..14] of str2 = ('M','CM','D','CD','C','XC','L','XL','X','IX','V','IV','I',' ');
Arab : array[1..14] of integer = (1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1, 0);
var
N, NI, I, J : integer;
S : string;
function Arab2Rim(N : integer) : string;
var S : string;
I : integer;
begin
S := ''; I:=1;
while N > 0 do begin
while Arab[I]<=N do begin
S := S + Rims[I];
N := N - Arab[I]
end;
I:=I+1
end;
Arab2Rim := S
end;
function Rim2Arab (S:string) : integer;
var I, N : integer;
begin
I:=1; N := 0;
while S<>'' do begin
while Rims[I] = Copy(S, 1, Length(Rims[I]) ) do begin
S := Copy( S, 1+Length(Rims[I]), 255);
N := N + Arab[I]
end;
I:=I+1
end;
Rim2Arab := N
end;
begin
WriteLn('Перевод из арабских цифр в римские. 1999 B_SA');
{ Write('Введите число для преобразования:'); ReadLn(N);}
for NI := 26 to 46 do
WriteLn(NI,' = ',Arab2Rim(NI),' обратно ', Rim2Arab( Arab2Rim(NI) ));
end.
Re: помогите написать програмку плиз
Добавлено: 21 мар 2008, 09:49
BBB
Serge_Bliznykov,
не далее как позавчера В ЭТОМ ЖЕ РАЗДЕЛЕ:
http://forum.developing.ru/showthread.php?t=13390
По-моему, они у одного преподавателя учатся
К слову, приведенный там алгоритм по крайнйе мере в реализации отличается от вашего. И "копирайт" другой.
Re: помогите написать програмку плиз
Добавлено: 21 мар 2008, 10:44
Serge_Bliznykov
ну вот и славно. у каждого будет свой вариант ;-))
можно будет утверждать при сдаче, что сам написал ;-)))
Re: помогите написать програмку плиз
Добавлено: 21 мар 2008, 14:23
Паша
спсибо огромное, выручил )))))