думаю добавлять ничего не надо, только одно:
код, желательно попроще, и диапазон вводимого числа 1 <= N <= 3999
Другие языки программирования и технологии
Напишите программу, которая выводит запись переданного ей числа в римской системе счисления. Используйте процедуру. С++
Нет в C++ процедур, только функции :)
#include "iostream"
#include "string"
using namespace std;
string ch(int d){
const string
on[]={"","I","II","III","IV","V","VI","VII","VIII","IX"},
te[]={"","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"},
hu[]={"","C","CC","CCC","CD","D","DC","DCC","DCCC","CM"},
th[]={"","M","MM","MMM","MMMM"};
return th[d/1000]+hu[d/100%10]+te[d/10%10]+on[d%10];}
int main(){int d; cin>>d; cout<<ch(d)<<endl;}
#include "iostream"
#include "string"
using namespace std;
string ch(int d){
const string
on[]={"","I","II","III","IV","V","VI","VII","VIII","IX"},
te[]={"","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"},
hu[]={"","C","CC","CCC","CD","D","DC","DCC","DCCC","CM"},
th[]={"","M","MM","MMM","MMMM"};
return th[d/1000]+hu[d/100%10]+te[d/10%10]+on[d%10];}
int main(){int d; cin>>d; cout<<ch(d)<<endl;}
Андрей Рябов
спасибо за помощь, но можешь немного объяснить все функции и почему писать так
Jscript
function combine(romanbase, romanfifth, romantenth, quantity)
{
switch(quantity)
{
case 0:
return "";
case 1:
return romanbase;
case 2:
return romanbase + romanbase;
case 3:
return romanbase + romanbase + romanbase;
case 4:
return romanbase + romanfifth;
case 5:
return romanfifth;
case 6:
return romanfifth + romanbase;
case 7:
return romanfifth + romanbase + romanbase;
case 8:
return romanfifth + romanbase + romanbase + romanbase;
case 9:
return romanbase + romantenth;
}
}
var thousands = Math.floor(dec/1000);
res += combine("M", "", "", thousands);
dec = dec - 1000*thousands;
var hundreds = Math.floor(dec/100);
res += combine("C", "D", "M", hundreds);
dec = dec - 100*hundreds;
var tenths = Math.floor(dec/10);
res += combine("X", "L", "C", tenths);
dec = dec - 10*tenths;
res += combine("I", "V", "X", dec);
на C++ самостоятельно
function combine(romanbase, romanfifth, romantenth, quantity)
{
switch(quantity)
{
case 0:
return "";
case 1:
return romanbase;
case 2:
return romanbase + romanbase;
case 3:
return romanbase + romanbase + romanbase;
case 4:
return romanbase + romanfifth;
case 5:
return romanfifth;
case 6:
return romanfifth + romanbase;
case 7:
return romanfifth + romanbase + romanbase;
case 8:
return romanfifth + romanbase + romanbase + romanbase;
case 9:
return romanbase + romantenth;
}
}
var thousands = Math.floor(dec/1000);
res += combine("M", "", "", thousands);
dec = dec - 1000*thousands;
var hundreds = Math.floor(dec/100);
res += combine("C", "D", "M", hundreds);
dec = dec - 100*hundreds;
var tenths = Math.floor(dec/10);
res += combine("X", "L", "C", tenths);
dec = dec - 10*tenths;
res += combine("I", "V", "X", dec);
на C++ самостоятельно
R = ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'III', 'II', 'I']
A = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 3, 2, 1]
a = int(input())
res = ''
while a:
while a >= A[0]:
a -= A[0]
res += R[0]
R.pop(0)
A.pop(0)
A = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 3, 2, 1]
a = int(input())
res = ''
while a:
while a >= A[0]:
a -= A[0]
res += R[0]
R.pop(0)
A.pop(0)
Похожие вопросы
- C++ Помогите написать программу, которая выводит первые n простых чисел.
- c++ цикл: for Написать программу, которая выводит на экран все числа в диапазоне указанном пользователем.
- Напишите программу, которая выводит на экран все делители числа N, (число N вводится с клавиатуры) абсПАСКАЛЬ ПОМОГИТЕ
- Требуется написать программу, которая из цифр двух натуральных чисел создает наименьшее возможное число, сохраняя при эт
- написать программу которая выводит на экран оцифрованную координатную сетку!Нужно решение через Турбо Паскаль!
- аскаль. Написать программу которая переводит число из одной системы счисления в другую
- как сделать в Паскале задачу/программу по переводу числа из десятичной в римскую систему счисления???
- Если парень в 11 классе смог написать программу по переводу чисел из одной системы счисления в другую, то ему смело
- Помогите перевести числа в разные системы счисления. HELP!!!
- Программа C++ Напишите программу которая переводит из десятичной в двоичную систему счисления (C++)