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

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

Войти
Регистрация
Восстановить пароль
 
MikuruAsahina
0 / 0 / 0
Регистрация: 28.05.2013
Сообщений: 2
#1

Перевод римской записи числа в арабскую - C++

28.05.2013, 14:25. Просмотров 314. Ответов 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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include "stdafx.h"
#include <iostream>
#include <cstring>
#include <sstream>
 
using namespace std;
 
int main()
{
    char str[256], p;
    printf("Vvedite rimskoe chislo\n");
    cin.getline(str, 256);
    int l=strlen(str),m,i,a[20], sum;
    for (i=1;i<=l;i++)
    {
        p=str[l-i];
        cout<<p<<endl;
        switch (p)
        {
            case 'I':
                m=1;
                break;
            case 'V':
                m=5;
                break;
            case 'X':
                m=10;
                break;
            case 'L':
                m=50;
                break;
            case 'C':
                m=100;
                break;
            case 'D':
                m=500;
                break;
            case 'M':
                m=1000;
                break;
        }
        a[l-i]=m;
        printf("%i) %i\n", l-i, a[l-i]);
    }
    sum=0;
    for (i=0;i<=l-1;i++)
    {
        if (a[i+1]>a[i])
        {
            a[i]=a[i+1]-a[i];
            a[i+1]=0;
        }
        
    }
    
    for (i=0;i<l;i++)
    {
        printf("%i) %i\n", i, a[i]);
        sum=sum+a[i];
    }
    printf("sum = %i\n", sum);
    system("pause");
}
Но я столкнулась с одной загвоздкой: я перевела "буквы" в числа и заполнила этими числами матрицу.
Только вот в случаях с XCIX или XIV (к примеру) у меня не получается эту "матрицу" преобразовать в число, если выполняются те или иные условия(т.е. "если 1<5 то m=5-1, к примеру). ... Такое ощущение, что мысли мои крутятся каждый раз где-то рядом, но всё равно не получается.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2013, 14:25     Перевод римской записи числа в арабскую
Посмотрите здесь:

Перевод математической записи в запись на С++ - C++
Вроди как записал но ответ не совпадает записать но ответ не совпадает :( ...

Перевод числовой записи в словесную и обратно - C++
Помогите пожалуйста! как сделать перевод числовой записи в словесную и обратно то есть надо ввести к примеру 1 и чтобы показало словом...

Перевод строки при записи в файл - C++
Почему при выводе на экран оператор endl; переводит строку на новую, а при записи в файл не переводит, а печатает всё в строчку ? ...

Перевод строк при их записи в текстовый файл - C++
Как сделать перевод строк при их записи в текстовый файл (CArchiv::WriteString())? не подойдет, т.к. редактор неформатированного текста...

Перевод текстовой записи формулу в читаемую функцию. - C++
Пишу диплом, в реализации подразумевается генерация и изменение большого числа различных функций. Единственный вариант который я смог...

Представить заданное натуральное число в римской системе счисления - C++
Помогите завтра зачёт, осталась одна задача: Представить заданное натуральное число в римской системе счисления

перевод числа - C++
подскажите как перевести в 10ую систему число которое записано в двух ячейках массива : a=10; a=99 , причем число 9910 в 16 системе

Перевод числа из 10 с.с. в 8 с.с. - C++
не пойму как создать программу по переводу числа из 10 с.с. в 8 с.с. . Дали несколько задач на расчётно-графическую работу,а учитель толком...

Перевод числа из 10 в 2 сс - C++
Написать рекурсивную функцию перевода числа из 10 в 2 систему счисления. Помогите пожалуйста.

Перевод 10-го числа в 2-ое - C++
Народ обьясните пжлста как работает эта функция(быстрое возведение числа в степень a^d mod n) : long powmod(long a, long d, long n) ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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