Форум программистов, компьютерный форум CyberForum.ru

Нужно перевести римские цифры в арабские - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.58
Student3k
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 5
04.06.2013, 12:59     Нужно перевести римские цифры в арабские #1
Дан текст из заглавных латинских букв, за которым следует пробел. Определить, является ли этот текст правильной записью римскими цифрами целого числа от 1 до 999, и, если является, вывести на экран это число арабскими цифрами( в десятичной системе).
(Есть похожая задача на паскале Определить, является ли текст правильной записью римскими цифрами целого числа от 1 до 38 , но нужно на C или C++)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
04.06.2013, 13:03     Нужно перевести римские цифры в арабские #2
Вспоминается "Елизавета одиннадцатая" (президент даже в ручную не распарсил римский династический номер королевы), поэтому дай алгоритм парсинга хотя бы по-русски.
Student3k
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 5
04.06.2013, 13:11  [ТС]     Нужно перевести римские цифры в арабские #3
Цитата Сообщение от taras atavin Посмотреть сообщение
Вспоминается "Елизавета одиннадцатая" (президент даже в ручную не распарсил римский династический номер королевы), поэтому дай алгоритм парсинга хотя бы по-русски.
алгоритм парсинга это что?
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
04.06.2013, 13:13     Нужно перевести римские цифры в арабские #4
А "алгоритм разбора числа" понятнее будет?
LK
Заблокирован
04.06.2013, 13:15     Нужно перевести римские цифры в арабские #5
первым же тыком:
Перевод римских цифр в арабские
Перевод римских цифр в арабские
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;
}
схема, не для копипейста, не проверял
консультации и техническая поддержка не предоставляются
Yandex
Объявления
04.06.2013, 13:15     Нужно перевести римские цифры в арабские
Ответ Создать тему
Опции темы

Текущее время: 08:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru