Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/160: Рейтинг темы: голосов - 160, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 62

Программа перевода арабских чисел в римские!

27.11.2011, 22:46. Показов 30687. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Составить программу перевода любого значения N(n<3999) в запись римскими цифрами.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.11.2011, 22:46
Ответы с готовыми решениями:

Перевод арабских в римские
Задача №1 Для записи римскими цифрами используются символы I, V, X, L, C, D, M, обозначающие соответственно числа 1, 5, 10, 50, 100,...

Программа для перевода чисел из 16 сс в 10 сс
нужно составить программу на паскале для перевода из 16тиричной системы счисления в 10ричную! имея в результате число хотябы 12 знаков до...

Программа для перевода чисел из одной системы счисления в другую
Написать программу для перевода чисел из одной системы счисления в другую. Из 10 в 2, Из 16 в 8. Задание может быть выполнено в виде двух...

7
32 / 32 / 30
Регистрация: 25.11.2011
Сообщений: 43
27.11.2011, 23:03
вот она
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
uses crt;
const dec=3250;
function basedigit(x:integer):char;
begin
case x of 1:basedigit:='I';
5:basedigit:='V';
10:basedigit:='X';
50:basedigit:='L';
100:basedigit:='C';
500:basedigit:='D';
1000:basedigit:='M';
else basedigit:='0';
end;{case}
end;
function altconvert(x:integer):string;
var base:integer;
tmp:string;
begin tmp:='';
base:=0;
if (x<0) then tmp:='err' else if (x>3999)and(x<999999) then begin tmp:='*'+altconvert(trunc(x/1000))+'*';
x:=x-trunc(x/1000)*1000 ;
end;
while (X>0) do begin
if (x >= 1)and(x<=9) then
base:=1
else if (x >= 10)and(x<=99) then
base:=10
else if (x >= 100)and(x<=999) then
base:=100
else if(x >= 1000)and(x<=3999)
then base:=1000;
if x>=9*base then begin
tmp:=tmp+basedigit(base)+basedigit(base*10);
x:=x-9*base;
end
else if x>=5*base then begin
tmp:=tmp+basedigit(5*base);
x:=x-5*base;
end else if x>=4*base then begin tmp:=tmp+basedigit(base)+basedigit(5*base);
x:=x-4*base;
end;
while x>=base do begin
tmp:=tmp+basedigit(base);
x:=x-base;
end;
end; {while}
altconvert:=tmp;
end;
function convert(x:integer):string;
var tmp:string;
begin tmp:='';
if(x>=4000)or(x<1) then
convert:='err'
else begin
while x>=1000 do begin
tmp:=tmp+'M';
x:=x-1000;
end;
if x>=900 then begin
tmp:=tmp+'CM';
x:=x-900;
end
else
if x>=500 then begin
tmp:=tmp+'D';
x:=x-500;
end
else
if x>=400 then begin
tmp:=tmp+'CD';
x:=x-400;
end;
while x>=100 do begin
tmp:=tmp+'C';
x:=x-100;
end;
if x>=90 then begin
tmp:=tmp+'XC';
x:=x-90;
end
else if x>=50 then begin
tmp:=tmp+'L';
x:=x-50;
end else if x>=40 then begin
tmp:=tmp+'XL';
x:=x-40;
end;
while (x>=10) do begin
tmp:=tmp+'X';
x:=x-10;
end;
if x=9 then begin
tmp:=tmp+'IX';
x:=x-9;
end
else if x>=5 then begin
tmp:=tmp+'V';
x:=x-5;
end
else if x=4 then begin
tmp:=tmp+'IV';
x:=x-4;
end;
while (x>=1) do begin
tmp:=tmp+'I';
x:=x-1;
end;
end;{else}
convert:= tmp;
end;
var x:integer;
begin clrscr;
write('Введи число от 1 до 3999 ');
readln(x);
writeln('В арабских выглядет так ' + convert(x) );
readkey;
end.
1
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 62
27.11.2011, 23:19  [ТС]
Спасибо. Но есть еще вопрос а она покороче не как не может выглядеть а то я это не объясню?!
0
32 / 32 / 30
Регистрация: 25.11.2011
Сообщений: 43
28.11.2011, 07:08
Цитата Сообщение от ooloo Посмотреть сообщение
Спасибо. Но есть еще вопрос а она покороче не как не может выглядеть а то я это не объясню?!
я поищу но не уверен что найду или попытаюсь сам составить
0
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 62
29.11.2011, 01:26  [ТС]
НУ что как там задача?!
0
5 / 5 / 2
Регистрация: 15.04.2011
Сообщений: 21
29.11.2011, 15:12
эта задача на форуме уже была вот решение
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
var n:integer;
a,b,c,d,f,h,q,s,w,r:string;
begin
writeln('введите число');
readln(n);
case n mod 10 of
1:a:='I';
2:a:='II';
3:a:='III';
4:a:='IV';
5:a:='V';
6:a:='VI';
7:a:='VII';
8:a:='VIII';
9:a:='IX';
end;
b:='X';
c:='L';
d:='C';
case n mod 100 of
10..19:q:=b+a;
20..29:q:=b+b+a;
30..39:q:=b+b+b+a;
40..49:q:='IL'+a;
50..59:q:=c+a;
60..69:q:=c+b+a;
70..79:q:=c+b+b+a;
80..89:q:=c+b+b+b+a;
90..99:q:='IC'+a;
else q:=a;
end;
s:='D';
case n mod 1000 of
100..199:f:=d+q;
200..299:f:=d+d+q;
300..399:f:=d+d+d+q;
400..499:f:='ID'+q;
500..599:f:=s+q;
600..699:f:=s+d+q;
700..799:f:=s+d+d+q;
800..899:f:=s+d+d+d+q;
900..999:f:='IM'+q;
else f:=q;
end;
w:='M';
case n mod 4000 of
1000..1999:r:=w+f;
2000..2999:r:=w+w+f;
3000..3999:r:=w+w+w+f;
else r:=f;
end;
writeln(r);
 end.
1
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
29.11.2011, 17:14
можно использовать таблицы
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var
   c : array [1..13] of string :=  ('M','CM','D','CD','C','XC','L','XL','X','IX','V','IV','I'); 
   n : array [1..13] of integer := (1000,900, 500,400,100,90,50,40,10,9,5,4,1); 
   res : string := '';
   i,val : integer;
begin
   writeln('введите число');
   readln(val);
   for i:=1 to 13 do
      while (val>=n[i]) do begin
         res := res + c[i];
         val := val - n[i];
      end;
   writeln(res);
end.
примерно так
2
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 62
29.11.2011, 19:21  [ТС]
всем спасибо большое
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.11.2011, 19:21
Помогаю со студенческими работами здесь

Программа перевода арабских чисел в римские
Написать программу, которая переводит положительное число введено в десятичном виде в римские числа и наоборот. Объясните пожалуйста как...

Программа для перевода арабских чисел в римские
Составить программу для перевода арабских чисел в римские и для обратной операции. Например, 255 = CCLV = сто + сто + пятьдесят + пять...

Программа перевода арабских цифр в римские
Написать программу, которая запись любого числа, записанного арабскими цифрами переводила бы в запись с римскими цифрами. Правило...

Программа для перевода арабских цифр в римские
Нужно перевести число, записанное римскими цифрами, в десятичную систему счисления, и наоборот. #include &lt;ctype.h&gt; #include...

Составьте программы для перевода арабских чисел в римские
Составьте программы для перевода арабских чисел в римские и для обратной операции. Например, 255=CCLV=сто+сто+пятьдесят+пять.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru