Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
2 / 2 / 1
Регистрация: 19.10.2009
Сообщений: 7

Перевод из римской в арабскую с\с

19.10.2009, 19:32. Показов 2229. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Надо взять из файла римские числа и записать в другой фаил арабские Помогите плз
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.10.2009, 19:32
Ответы с готовыми решениями:

Перевод из римской системы счисления в десятичную
Здравствуйте!Столкнулся с такой бедой. Задача. Напишите две программы,которые получают на ВХОДЕ СТРОКУ,содержащую значение РИМСКОЙ...

Перевод из римской записи в арабскую
Собственно возникла проблема с проверкой строки на корректность. Вот на что меня хватило: bool isRomeNumb(std::string& s,...

перевод из римской с.и. в арабскую и наоборот
здрасьте, у меня проблема вот такая... нужно сделать прогу переводящую арабское число в римское и наоборот, при запуске выдает ошибку ...

5
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
19.10.2009, 19:40
В файле как записаны, пример приведите.
1
2 / 2 / 1
Регистрация: 19.10.2009
Сообщений: 7
19.10.2009, 19:56  [ТС]
XI
CCCXL
IX

Добавлено через 2 минуты
Вот у меня есть нароботки просто со строкой без файла может это просто удастся использовать
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
program rim_chis;
var
s:string;
p,i:integer;
a:array [1..255] of integer;
begin
writeln('Введите число');
readln(s);
p:=0;
for i :=1 to length(s) do
case Upcase(s[i]) of
'I':a[i]:=1;
'V':a[i]:=5;
'X':a[i]:=10;
'L':a[i]:=50;
'C':a[i]:=100;
else
begin
writeln('ВВод неверен');
readln;
exit;
end;
end;
for i :=1 to length(s) do
write(a[i]:4);
writeln;
i:= length(s);
while i>=1 do
 case a[i] of
  1:
   begin
   p:=p+a[i];
   i:=i-1;
   end;
  10:
    if (a[i-1]=1 ) and (i>1)
    then
     begin
     p:=p+9;
     i:=i-2;
     end
    else
     if  (a[i-1]>=10) and (i>1)
      then
      begin
      p:=p+10;
      i:=i-1;
      end
     else
     begin
     writeln('ВВод неверен');
     readln;
     exit;
     end;
  5:
   if (a[i-1]=1) and (i>1)
    then
     begin
     p:=p+4;
     i:=i-2;
     end
    else
     if (a[i-1] > 5) and(i>1)
      then
      begin
      p:=p+5;
      i:=i-1;
      end
     else
     begin
     writeln('ВВод неверен');
     readln;
     exit;
     end;
    50:
    if (a[i-1]=10)and(i>1) then
       begin
       p:=p+40;
       i:=i-2;
       end
       else
        if (a[i-1]>50)and(i>1) then
        begin
         p:=p+50;
      i:=i-1;
      end
     else
     begin
     writeln('ВВод неверен');
     readln;
     exit;
     end;
    100:
    if (a[i-1]=10) and(i>1)
    then
     begin
     p:=p+90;
     i:=i-2;
     end
    else
     if  (a[i-1]>=100) and (i>1)
      then
      begin
      p:=p+100;
      i:=i-1;
      end
     else
     begin
     writeln('ВВод неверен');
     readln;
     exit;
     end;
   end;
writeln('Результат равен   ',p);
readln;
end.
но она не работает
0
 Аватар для BasicMan
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
19.10.2009, 20: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
{ Copyright MM Andrew Usachov }
 
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 Roman(N : Integer) : String;
 
Var Result : String;
 
    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;
 
 Roman := Result;
 
end;
 
Function Arabic(S : String) : Integer;
 
Var Result : Integer;
 
    i, p   : Integer;
 
begin
 
  Arabic := -1;
 
  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;
 
  If Roman(Result) = S then Arabic := Result
 
end;
 
Var N, Err : Integer;
 
    S : String;
 
BEGIN
 
 repeat
 
   ReadLn(S);
 
   If S = '' then Break;
 
   Val(S, N, Err);
 
   If Err = 0 then
 
     WriteLn(Roman(N))
 
   else
 
     WriteLn(Arabic(S));
 
 until false;
 
END.
UTFG
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
19.10.2009, 20:36
Продолжил как у автора, добавил файлы. Так вроде проще и короче.
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
program rim_chis;
uses crt;
var f,g:text;
    s:string;
    p,i:integer;
    a:array [1..255] of integer;
begin
clrscr;
assign(f,'rim.txt');
reset(f);
assign(g,'arab.txt');
rewrite(g);
while not eof(f) do
 begin
  readln(f,s);
  for i :=1 to length(s) do
  case Upcase(s[i]) of
  'I':a[i]:=1;
  'V':a[i]:=5;
  'X':a[i]:=10;
  'L':a[i]:=50;
  'C':a[i]:=100;
  'D':a[i]:=500;
  'M':a[i]:=1000;
  end;
  p:=a[1];
  for i :=2 to length(s) do
   begin
    p:=p+a[i];
    if a[i-1]<a[i] then p:=p-2*a[i-1];
   end;
 writeln(g,p);
end;
close(f);
close(g);
write('FINISH!');
readln
end.
1
2 / 2 / 1
Регистрация: 19.10.2009
Сообщений: 7
19.10.2009, 20:50  [ТС]
Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.10.2009, 20:50
Помогаю со студенческими работами здесь

Перевод из римской системы счисления в арабскую
Перевод из римской системы счисления в арабскую CLS INPUT &quot;Введите римское число&quot;, a$ d = 0 FOR i = 1 TO LEN(a$) e$ =...

Перевод из римской в арабскую систему счисления
Помогите пожалуйста написать программу: Перевести число из римской системы счисления в десятеричную. Аргументы: число в римской с.с. (...

[Io] Перевод числа из римской системы в арабскую в цикле
Вот приложение на JS: var c = prompt(&quot;Введите римское число :&quot;, &quot;&quot;); c = c.replace(/IV/, &quot;IIII&quot;).replace(/IX/,...

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

Конвертер из римской системы счисления в арабскую
конвертер из римской системы счисления в арабскую


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru