Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
3 / 3 / 1
Регистрация: 12.01.2010
Сообщений: 34
1

Преобразование арабских чисел в римские

05.02.2010, 01:09. Просмотров 1946. Ответов 1
Метки нет (Все метки)

2. Программа для преобразования числа, введённого арабскими цифрами в римское число, и наоборот.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2010, 01:09
Ответы с готовыми решениями:

Из арабских чисел в римские
Функция для перевода из арабских чисел в римские. Как можно заменить устаревший sprintf? string...

Из арабских чисел в римские Visual C++
Здравствуйте! =) Знаю, что тема заезжена до дыр, но ничего стоящего на с++ я не нашел. В основном...

Перевод арабских чисел в римские
вообщем задание такое: написать код который из простых чисел преобразовал бы в римские, и потом...

Перевод арабских чисел в римские
Всем привет. Не получается решить задачу в С++ Кто может помогите если не сложно;. Для...

1
9713 / 2467 / 49
Регистрация: 06.03.2009
Сообщений: 8,503
05.02.2010, 01:27 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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
char *a2roman (int value, char *c1, char *c2, char *c3);
 
int main (void)
{
int arabicalNumeral = 1;
int result;
char roman[15] = "";
do
{
clrscr();
textcolor(GREEN);
cprintf("..::Programma dlya preobrazovaniyz arabskih chisel v rimskie::..");
cprintf("\n\r============================================== ==================");
textcolor(RED);
cprintf("\n\n\rVvedite chislo ot 1 do 3000: ");
scanf ("%d", &arabicalNumeral);
}
while ((arabicalNumeral < 1) || (arabicalNumeral > 3000));
if ((arabicalNumeral <= 3000) && (arabicalNumeral >= 1000))
{
result = arabicalNumeral / 1000;
strcat (roman, a2roman(result, "M", " ", " "));
arabicalNumeral -= (result * 1000);
}
if ((arabicalNumeral < 1000) && (arabicalNumeral >= 100))
{
result = arabicalNumeral / 100;
strcat (roman, a2roman(result, "C", "D", "M"));
arabicalNumeral -= (result * 100);
}
if ((arabicalNumeral < 100) && (arabicalNumeral >= 10))
{
result = arabicalNumeral / 10;
strcat (roman, a2roman(result, "X", "L", "C"));
arabicalNumeral -= (result * 10);
}
if ((arabicalNumeral < 10) && (arabicalNumeral >= 1))
{
strcat (roman, a2roman(arabicalNumeral, "I", "V", "X"));
}
textcolor(LIGHTBLUE);
cprintf("Eto chiclo v rimskom napisanii: %s\n\n", roman);
textcolor(YELLOW);
cprintf("\n\r ...Press any key to exit... ");
getch();
return 0;
}
или так
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
27
28
29
30
31
32
33
#include <stdio.h>
#include <stdlib.h>
 
#define NUMS 13
 
char* to_roman( unsigned int num, char* buff )
{
int p = NUMS;
unsigned int a_num[NUMS] = {1,4,5,9,10,40,50,90,100,400,500,900,1000};
char* r_str[NUMS] = {"I","IV","V","IX","X","XL","L","XC","C","CD","D","CM","M"};
 
*buff = '\0';
while (p--)
while (num >= a_num[p])
{
num -= a_num[p];
strcat( buff, r_str[p] );
}
 
return buff;
}
 
int main( void )
{
char* roman;
unsigned int arabian = 3451;
 
roman = (char*)malloc(256);
printf( "%i: %s\n", arabian, to_roman( arabian, roman ));
free( roman );
 
return 0;
}
3
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.02.2010, 01:27

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Программа перевода арабских чисел в римские
Написать программу, которая переводит положительное число введено в десятичном виде в римские числа...

Перевод чисел из арабских в римские. Пределы int
Есть программа: #include &lt;stdio.h&gt;; #include &lt;conio.h&gt;; int roman(int,int,char); main() { int...

Алгоритм преобразования арабских чисел в римские и обратно
Здравствуйте. Только начал изучать С++, как реализовать эту задачу раздельно представляю, а вот...

Составить программы для перевода арабских чисел в римские и для обратной операции
Составить программы для перевода арабских чисел в римские и для обратной операции. Например, 255 =...


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

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

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