lerka22222222222222
22.10.2020 10:31

(на языке с++ ) напишите процедуру, которая выводит на экран запись переданного ей числа в римской системе счисления. i -1, v – 5, x – 10, l – 50, c – 100, d – 500, m – 1000 натуральные числа записываются при повторения этих цифр. при этом, если большая цифра стоит перед меньшей, то они складываются (принцип сложения), если же меньшая стоит перед большей, то меньшая вычитается из большей (принцип вычитания). последнее правило применяется только во избежание четырёхкратного повторения одной и той же цифры. для правильной записи больших чисел римскими цифрами необходимо сначала записать число тысяч, затем сотен, затем десятков и, наконец, единиц. при этом некоторые из цифр (i, x, c, m) могут повторяться, но не более трёх раз подряд; таким образом, с их можно записать любое целое число не более 3999 (mmmcmxcix)

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
vovkatop228
08.10.2020 00:29
#include <iostream>
#include <string>
using namespace std;

string arabicToRoman(unsigned &number)
{
const unsigned count = 13;unsigned arabic[count] = { 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1
}, i, j;
string roman[count] = { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX",
"V", "IV", "I" }, result = "";
for (i = 0; i < count; i++) {
for (j = 0; j < number / arabic[i]; j++) {
result += roman[i];
}
number %= arabic[i];
}
return result;
}

int main()
{
unsigned uin = 0;
cin >> uin;
cout << arabicToRoman(uin);
system("pause");
return 0;
}
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота