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

  1. Пример: Введите строку: В MMXIII году в школе CXXIII состоялся очередной выпуск XI классов. Результат: В 2013 году в школе 123 состоялся очередной выпуск 10-х классов.


textual

Код к задаче: «Напишите функцию, которая заменяет во всей строке все римские числа на соответствующие десятичные числа - PascalABC.NET»

// ...
var s : string := 'В MMXIII году в школе CXXIII состоялся очередной выпуск XI классов.';
 
begin
  s := Regex.Replace(s, '(?=[MDCLXVI])M*(C[MD]|D?C{0,3})(X[CL]|L?X{0,3})(I[XV]|V?I{0,3})', 
                        (m : System.Text.RegularExpressions.Match) -> Rim2Arab(m.Value).ToString());
  writeln(s);
end.

СДЕЛАЙТЕ РЕПОСТ

15   голосов, оценка 4.067 из 5



Похожие ответы
  1. «Курс валюты Зимбабве опустился накануне до рекордно низкого уровня - 1,2 млрд. зимбабвийских долларов за один доллар США» (Новости от 7.06.2009) В некоторой стране инфляция достигла таких размеров, что доходы граждан стали выражаться числами, количество знаков в десятичной записи которых доходит до 200. Это сильно усложнило задачу взимания налогов. Один из налогов на доходы составляет 1%. Напишите программу, которая по введенному числу D (величине дохода гражданина) вычислит этот налог. При этом применяются следующие правила округления: 1. Если налог выражается целым числом, то он не округляется. 2. Если налог выражается дробным числом, то он округляется в сторону большего целого (в пользу государства). Входные данные Вводится одно число D (натуральное, 105 ≤ D < 10200) – величина дохода гражданина. Выходные данные Выведите одно натуральное число – величину налога. Примеры входные данные 1000001 выходные данные 10001 входные данные 12345600 выходные данные 123456 Написала программу, но при проверке пишет, что решение неполное. Помогите, пожалуйста, найти ошибку:

  1. Напишите программу, которая переставляет соседние элементы массива (1-й элемент поменять с 2-м, 3-й с 4-м и т.д. Если элементов нечетное число, то последний элемент остается на своем месте). Входные данные Сначала задано число N — количество элементов в массиве (1<=N<=35). Далее через пробел записаны N чисел — элементы массива. Массив состоит из целых чисел. Выходные данные Необходимо вывести массив, полученный после перестановки элементов.

  1. Напишите программу, которая находит в матрице строку с минимальной суммой. Входные данные В первой строке записаны через пробел размеры матрицы: количество строк N и количество столбцов M ( 1 ≤ N , M ≤ 100 ). В следующих N строках записаны строки матрицы, в каждой – по M натуральных чисел, разделённых пробелами. Выходные данные Программа должна вывести все элементы найденной строки с минимальной суммой, разделив их пробелами.

  1. Напишите программу, которая (использую оператор выбора – case) производит транслитерацию текста с кириллицы на латиницу.

  1. Напишите подпрограмму, в которой есть функция Power1(A , B ) вещественного типа, находящую величину A^B по формуле AB =exp(B∗ln(A)) (параметры A и B - вещественные). В случае нулевого или отрицательного параметра A функция возвращает 0. С помощью этой функции найти степени Ap , B p , Cp , если даны числа P,A,B,C .

  1. Дана матрица A(m,n), элементы которой - целые числа . Напишите программу , которая находит и выводит на экран наибольший элемент матрицы, а также номер строки и номер столбца , соответствующий этому элементу .

  1. Здравствуйте. Пожалуйста, напишите какой-нибудь простой модуль с разделом initialization. для примера необходимо. заранее спасибо.

  1. Помогите, пожалуйста, написать программу. "Описать функцию, определяющую является ли сумма элементов одномерного массива А(К), K<=50 положительным числом".