Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Дима Суслов
0 / 0 / 0
Регистрация: 13.03.2013
Сообщений: 49
#1

Записать данное число (от 1 до 3999) римскими цифрами - C++

12.06.2014, 11:30. Просмотров 971. Ответов 2
Метки нет (Все метки)

Написать программу,записывающую данное число в интервале от 1 до 3999 Римскими цифрами.
I – 1
V – 5
X – 10
L – 50
C – 100
D – 1000
В римском исчислении существует правило, что не пишут 4 подряд одинаковые цифры, поэтому 9 – IX, т.е. 10-1.
C++
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
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
main()
{
  int n;
                cout<<"Введите число n= "; cin>>n;
 
                while (n != 0)
                {
                    if (n >= 1000) { n = n - 1000; cout<<"M"; }
                    else { 
                        if (n >= 900) { n = n - 900;   cout<<"MC; }
                        else if (n >= 500) { n = n - 500; cout<<"D"; }
                        else if (n >= 400) { n = n - 400; cout<<"CD"; }
                        else if (n >= 100) { n = n - 100; cout<<"C"; }
                        else if (n >= 90) { n = n - 90; cout<<"XC"; }
                        else if (n >= 50) { n = n - 50; cout<<"L"; }
                        else if (n >= 10) { n = n - 10; cout<<"X"; }
                        else if (n >= 9) { n = n - 9; cout<<"IX"; }
                        else if (n >= 5) { n = n - 5; cout<<"V"; }
                        else if (n >= 4) { n = n - 4; cout<<"IV"; }
                        else if (n >= 1) { n = n - 1; cout<<"I"; }
                         }
                }
}
Как сделать через while ?
0
Миниатюры
Записать данное число (от 1 до 3999) римскими цифрами  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2014, 11:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Записать данное число (от 1 до 3999) римскими цифрами (C++):

Вводится число от 1 до 15. Вывести данное число, записанное римскими цифрами - C++
Вводится число от 1 до 15. Вывести данное число, записанное римскими цифрами (I, II, III, IV, V, VI, …., XV);С++ плииииз!

Записать число римскими цифрами - C++
Ребята, прошу помощи, больше некуда обратиться, помогите в написании программы. Для записи римскими цифрами используются символы I, V,...

Заданное число от 1 до 1999 вывести римскими цифрами - C++
помогите плиз переделать программку smile.gif необходимо осуществить ввод\вывод через cin\cout. и не использовать библ. string. просто...

Разработать программу, которая заданное целое число от 1 до 1999 выводит на экран римскими цифрами - C++
Разработать программу, которая заданное целое число от 1 до 1999 выводит на экран римскими цифрами.

К четным элементам целочисленного массива прибавить данное число а, а из элементов с четными номерами вычесть данное число b. - C++
К четным элементам целочисленного массива прибавить данное число а, а из элементов с четными номерами вычесть данное число b.

Проверка текста на правильность записи числа от 1 до 1999 римскими цифрами - C++
Привет! Нужна ваша помощь. Поставлена следующая задача: Если заданный текст является правильной записью римскими цифрами целого числа от...

2
tehnar5
31 / 31 / 12
Регистрация: 03.05.2011
Сообщений: 84
12.06.2014, 11:48 #2
C++
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
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
main()
{
  int n;
                cout<<"Введите число n= "; cin>>n;
 
                while (n != 0)
                {
                    while (n >= 1000) { n = n - 1000; cout<<"M"; }
                    else { 
                        while (n >= 900) { n = n - 900;   cout<<"MC; }
                        while (n >= 500) { n = n - 500; cout<<"D"; }
                        while (n >= 400) { n = n - 400; cout<<"CD"; }
                        while (n >= 100) { n = n - 100; cout<<"C"; }
                        while (n >= 90) { n = n - 90; cout<<"XC"; }
                        while (n >= 50) { n = n - 50; cout<<"L"; }
                        while (n >= 10) { n = n - 10; cout<<"X"; }
                        while (n >= 9) { n = n - 9; cout<<"IX"; }
                        while (n >= 5) { n = n - 5; cout<<"V"; }
                        while (n >= 4) { n = n - 4; cout<<"IV"; }
                        while (n >= 1) { n = n - 1; cout<<"I"; }
                         }
                }
}
Понятное дело, что эта программа выведет корректное число, так как комбинации типа IX, IV, XC и тд будут выводиться максимум один раз
0
SatanaXIII
Супер-модератор
Эксперт С++
5638 / 2673 / 252
Регистрация: 01.11.2011
Сообщений: 6,570
Завершенные тесты: 1
12.06.2014, 14:56 #3
Перевод арабских чисел в римские
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2014, 14:56
Привет! Вот еще темы с ответами:

Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ - C++
Вобщем,если не сложно,именно саму функцию помочь написать,ибо я просто не могу понять:) Добавлено через 22 минуты вот так...

Вводится число от 1 до 15. Вывести данное число, записанное в двоичной системе счисления (1, 10, 11, 100, - C++
Вводится число от 1 до 15. Вывести данное число, записанное в двоичной системе счисления (1, 10, 11, 100, 101, …., 1111);

Заменить данное число на число, которое получается из исходного записью цифр в обратном порядке - C++
Заменить данное натурально число на число, которое получается из исходного записью цифр в обратном порядке(например, дано число 156, нужно...

Дано целое положительное число. Проверить истинность высказывания: «Данное число является четным двузначным» - C++
Скоро экзамен , кто чем может ) Помоги ближнему , ибо смех продлевает жизнь...) 7. Дано целое положительное число. Проверить...


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

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

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