Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
thtfh
0 / 0 / 0
Регистрация: 07.02.2018
Сообщений: 12
#1

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

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

Помогите пожалуйста
Напишите функцию, которая заменяет во всей строке все римские числа на соответ-ствующие десятичные числа.
Пример:
Введите строку:
В MMXIII году в школе CXXIII состоялся очередной выпуск XI клас-сов.
Результат:
В 2013 году в школе 123 состоялся очередной выпуск 11 классов.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2018, 17:05
Ответы с готовыми решениями:

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

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

Описать процедуру, которая в векторе x все элементы, ссылающиеся на равные числа, заменяет на 0
Описать процедуру которая в векторе x все элементы, ссылающиеся на равные...

Составить процедуру, которая заменяет все элементы массива на числа с обратным порядком цифр
Составить процедуру которая: заменяет все элементы массива на числа с обратным...

Напишите программу, которая заменяет в символьной строке все буквы a на буквы b , a буквы A на буквы B
Здравствуйте,помогите пожалуйста написать программу .Напишите программу,...

2
Puporev
Модератор
54221 / 41854 / 28923
Регистрация: 18.05.2008
Сообщений: 98,534
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
thtfh
0 / 0 / 0
Регистрация: 07.02.2018
Сообщений: 12
04.04.2018, 18:28  [ТС] #3
Спасибо Вам большое за помощь!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.04.2018, 18:28

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

Напишите программу, которая находит все числа Армстронга на отрезке [ a , b ]
Натуральное число называется числом Армстронга, если сумма цифр числа,...

Напишите программу,которая из файла F (f,g:file of integer)переписывает в пустой файл g сначала все положительные числа,а потом все отрицательные
Напишите программу,которая из файла F (f,g:file of integer)переписывает в...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru