Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.81/21: Рейтинг темы: голосов - 21, средняя оценка - 4.81
0 / 0 / 0
Регистрация: 07.02.2018
Сообщений: 13
1

Строка: Напишите функцию, которая заменяет во всей строке все римские числа на соответствующие десятичные числа

04.04.2018, 17:05. Показов 3956. Ответов 2
Метки нет (Все метки)

Помогите пожалуйста
Напишите функцию, которая заменяет во всей строке все римские числа на соответ-ствующие десятичные числа.
Пример:
Введите строку:
В MMXIII году в школе CXXIII состоялся очередной выпуск XI клас-сов.
Результат:
В 2013 году в школе 123 состоялся очередной выпуск 11 классов.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2018, 17:05
Ответы с готовыми решениями:

Напишите функцию, которая заменяет во всей строке все римские числа на соответствующие десятичные числа
Пример: Введите строку: В MMXIII году в школе CXXIII состоялся очередной выпуск XI классов....

Заменить во всей строке все римские числа на соответствующие десятичные числа
Напишите функцию, которая заменяет во всей строке все римские числа на соответствующие десятичные...

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

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

2
Почетный модератор
64086 / 47495 / 32734
Регистрация: 18.05.2008
Сообщений: 115,182
04.04.2018, 17:44 2
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Например так.
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
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);
      c=['C','D','I','L','M','V','X'];
function arabic(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 dec(i);
  result:=Result+a[i];
  p:=p+length(r[i]);
 end;
end;
var s,s1:string;
    i,j:integer;
begin
s:='В MMXIII году в школе CXXIII состоялся очередной выпуск XI классов';
writeln(s);
write('Ответ: ');
i:=1;
while i<length(s) do
if (s[i] in c)and((i=1)or(not(s[i-1] in c))) then
 begin
  s1:='';
  j:=i;
  while(j<=length(s))and(s[j] in c) do
   begin
    s1:=s1+s[j];
    j:=j+1;
   end;
  delete(s,i,length(s1));
  insert(inttostr(arabic(s1)),s,i);
  i:=i+length(inttostr(arabic(s1)));
 end
else i:=i+1;
writeln(s);
end.
2
0 / 0 / 0
Регистрация: 07.02.2018
Сообщений: 13
04.04.2018, 18:28  [ТС] 3
Спасибо Вам большое за помощь!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2018, 18:28

написать программу, которая в произвольной строке ищет все числа в десятичной системе счисления(в соответствии со стандартом языка си) и заменяет их
написать программу, которая в произвольной строке ищет все числа в десятичной системе счисления(в...

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

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

Написать функцию, которая заменяет в строке все «:» на «;»
Написать функцию, которая заменяет в строке все «:» на «;»


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru