Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / помогите мне с ошибками, пожалуйста!!! / 6 сообщений из 6, страница 1 из 1
03.09.2013, 21:50
    #38385972
druce
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите мне с ошибками, пожалуйста!!!
создание программу, реализующую алгоритм, преобразующий произвольное положительное число, записанное в арабских цифрах, в систему римских цифр и наоборот.


Код: plaintext
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.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char* argv[])
{
    const int M = 1000;
    const int D = 500;
    const int C = 100;
    const int L = 50;
    const int X = 10;
    const int V = 5;
    const int I = 1;
    int nNum;
    cout<<"Input number: ";
    cin>>nNum;
    int nM = nNum/M;
    int nRemainM = nNum%M;
    int nD = nRemainM/D;
    int nRemainD = nRemainM%D;
    int nC = nRemainD/C;
    int nRemainC = nRemainD%C;
    int nL = nRemainC/L;
    int nRemainL = nRemainC%L;
    int nX = nRemainL/X;
    int nRemainX = nRemainL%X;
    int nV = nRemainX/V;
    int nRemainV = nRemainX%V;
    int nI = nRemainV;
    int i;
    for(i = 0; i < nM; i++)
        cout<<"M";
    for(i = 0; i < nD; i++)
        cout<<"D";
    for(i = 0; i < nC; i++)
        cout<<"C";
    for(i = 0; i < nL; i++)
        cout<<"L";
    for(i = 0; i < nX; i++)
        cout<<"X";
    for(i = 0; i < nV; i++)
        cout<<"V";
    for(i = 0; i < nI; i++)
        cout<<"I";
    cout<<"\n";
    return 0;
}
int get_arab_num(std::string rom_str)
{
    int res = 0;
    for(size_t i = 0; i < rom_str.length(); ++i)
    {
        switch(rom_str[i])
        {
        case 'M': 
            res += 1000;
            break;
        case 'D': 
            res += 500;
            break;
        case 'C':
            i + 1 < rom_str.length() 
                    &&  (rom_str[i + 1] == 'D' 
                         || rom_str[i + 1] == 'M') ? res -= 100 : res += 100;            
            break;
        case 'L': 
            res += 50;
            break;
        case 'X': 
            i + 1 < rom_str.length() 
                    &&  (rom_str[i + 1] == 'L' 
                         || rom_str[i + 1] == 'C') ? res -= 10 : res += 10;            
            break;
        case 'V': 
            res += 5;
            break;
        case 'I': 
            i + 1 < rom_str.length() 
                    &&  (rom_str[i + 1] == 'V' 
                         || rom_str[i + 1] == 'X') ? res -= 1 : res += 1;            
            break;
 
        }//switch
    }//for
    return res;
} 
int main()
{
    std::string s;
    for(;;)
    {
        std::cout << "input roman num: ";
        std::cin >> s;
        std::cout 
            << "arab num = "
            << get_arab_num(s)
            << std::endl
            << std::endl;
    }
    return 0;
}
...
Рейтинг: 0 / 0
03.09.2013, 22:00
    #38385976
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите мне с ошибками, пожалуйста!!!
Используй тег SRC для публикации исходника.
...
Рейтинг: 0 / 0
03.09.2013, 22:07
    #38385985
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите мне с ошибками, пожалуйста!!!
Шестая тема подряд за полгода. Упорный чел...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
03.09.2013, 22:13
    #38385987
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите мне с ошибками, пожалуйста!!!
Точно. Я и не заметил. Главное, хладнокровный как спамер. Ну что-ж дайте кто-нить ему ссылку на
шаблонный алгоритм и закроем тему? Кстати в FAQ неплохо бы добавить. И перевод числа прописью тоже.
...
Рейтинг: 0 / 0
03.09.2013, 22:31
    #38385994
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите мне с ошибками, пожалуйста!!!
maytonдайте кто-нить ему ссылку на шаблонный алгоритм и закроем тему?

Ну ёлы-палы, у меня же ещё в первой его теме ссылка на википедию, где эти процедуры в
четырёх языках расписаны...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
03.09.2013, 23:35
    #38386019
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите мне с ошибками, пожалуйста!!!
Модератор: Закрыто. Дубль.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / помогите мне с ошибками, пожалуйста!!! / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]