Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.67
TransformatoR
7 / 7 / 1
Регистрация: 31.08.2010
Сообщений: 129
#1

Римская система счисления. - C++

31.08.2010, 21:12. Просмотров 2307. Ответов 21
Метки нет (Все метки)

Всем здравствуйте!
Очень нужна помощь в написании программы по переводу из римской системы счисления в арабскую на языке СИ.
Я в этом почти ничего не понимаю.
Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.08.2010, 21:12
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Римская система счисления. (C++):

Система счисления
Написать программу в Delphi, обучающую переводу чисел из десятичной системы...

Система счисления
Когда делиться а когда умножаются при переводе из одной системы счисления в...

16-ая система счисления
Добрый вечер. столкнулся с проблемой: имеется char operand. Для примера он...

Система счисления
Решите пожалуйста,очень нужно,а времени нету на это 1. Выполнить перевод чисел...

Двоичная система счисления
Всем привет.Нужна помощь.Осваиваю язык. Пытаюсь написать программу перевода в...

Шестнадцатеричная система счисления
Возможно ли такое в шестнадцатирично системе... что значение без букв???? Так...

21
rrrFer
Заблокирован
31.08.2010, 21:20 #2
чем помочь?
0
TransformatoR
7 / 7 / 1
Регистрация: 31.08.2010
Сообщений: 129
31.08.2010, 21:25  [ТС] #3
Цитата Сообщение от rrrFer Посмотреть сообщение
чем помочь?
Да, наверное, лучше написать её, а то я всю свою жизнь в турбо-паскале писал, а тут задали на мою голову, так что, боюсь, не смогу...
Буду очень признателен!
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
31.08.2010, 21:28 #4
TransformatoR,
У вас есть идеи по решению задачи?
0
TransformatoR
7 / 7 / 1
Регистрация: 31.08.2010
Сообщений: 129
31.08.2010, 21:31  [ТС] #5
В Pascal я это сделалс помошью оператора Case. Однако, здесь его, похоже, нету... По-этому, я не имею даже малейшего понятия
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
31.08.2010, 21:31 #6
В си есть оператор case. Но даже не будь его, можно было бы обойтись и if-else.
0
TransformatoR
7 / 7 / 1
Регистрация: 31.08.2010
Сообщений: 129
31.08.2010, 21:35  [ТС] #7
Малость перепутал... С помощью for to do, однако, на СИ я не знаю даже элементарных команд..
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
31.08.2010, 21:35 #8
Давайте код на паскале
0
Jupiter
Каратель
Эксперт С++
6568 / 3989 / 400
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
31.08.2010, 21:36 #9
TransformatoR, смотри здесь и пределывай))
0
TransformatoR
7 / 7 / 1
Регистрация: 31.08.2010
Сообщений: 129
31.08.2010, 21:45  [ТС] #10
Цитата Сообщение от silent_1991 Посмотреть сообщение
Давайте код на паскале
Код
var s:string;        {Proga!!!!}
    n,c,c1,i,a:integer;
begin writeln('Vvedite chislo:');
      readln(s);
      c:=0;n:=0;
      for i:=1 to length(s) do
        begin
            c1:=c;
            if s[i]='I' then c:=1;
            if s[i]='V' then c:=5;
            if s[i]='X' then c:=10;
            if s[i]='L' then c:=50;
            if s[i]='C' then c:=100;
            if s[i]='D' then c:=500;
            if s[i]='M' then c:=1000;
            if c>c1 then a:=-2*c1
                    else a:=0;
            n:=n+a+c
	end;
      writeln('Vashe chislo',n);
      readln;
end.
Добавлено через 4 минуты
Цитата Сообщение от Maxwe11 Посмотреть сообщение
TransformatoR, смотри здесь и пределывай))
Насколько я понял. там только постановка задачи, однако нет её решения...
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
31.08.2010, 21:50 #11
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
int main()
{
    char s[256];
    int n, c, c1, i, a;
    
    printf("Vvedite chislo: ");
    scanf("%s", s);
    
    for (i = 0, c = 0, n = 0; i < strlen(s); i++)
    {
        c1 = c;
        
        if (s[i] == 'I')
            c = 1;
            
        if (s[i] == 'V')
            c = 5;
 
        if (s[i] == 'X')
            c = 10;
 
        if (s[i] == 'L')
            c = 50;
 
        if (s[i] == 'C')
            c = 100;
 
        if (s[i] == 'D')
            c = 500;
 
        if (s[i] == 'M')
            c = 1000;
 
        if (c > c1)
            a = -2 * c1;
        else
            a = 0;
 
        n += a + c;
    }
 
    printf("Vashe chislo: %d", n);
    getch();
    return 0;
}
1
Jupiter
Каратель
Эксперт С++
6568 / 3989 / 400
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
31.08.2010, 21:50 #12
TransformatoR, смотри http://www.cyberforum.ru/cpp-beginne...tml#post886087 418-й пост
0
TransformatoR
7 / 7 / 1
Регистрация: 31.08.2010
Сообщений: 129
31.08.2010, 21:57  [ТС] #13
silent_1991
Что значит эта строчка: for (i = 0, c = 0, n = 0; i < strlen(s); i++)
Она почему-то не компилируется
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
31.08.2010, 21:59 #14
TransformatoR,
Попробуй в самом начале, где строки #include ..., написать #include <string.h>
0
TransformatoR
7 / 7 / 1
Регистрация: 31.08.2010
Сообщений: 129
31.08.2010, 22:00  [ТС] #15
Maxwe11, Что-то я просмотрел.. Действительно, однако мне нужно, что структура решения была схожа с примером на Pascal, приведённым выше.
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
31.08.2010, 22:01 #16
TransformatoR,
А что вас не устраивает? Я писал код, полностью основываясь на вашем, переделал только команды и синтаксис.

Прошу прощения, не увидел, что предыдущее сообщение не мне...
0
TransformatoR
7 / 7 / 1
Регистрация: 31.08.2010
Сообщений: 129
31.08.2010, 22:07  [ТС] #17
silent_1991,
Вот теперь всё работает, теперь буду разбираться. Спасибо большое!

Добавлено через 2 минуты
silent_1991,
Я писал это Maxwe11у, он нал мне ссылку на несколько другое решение, а вам я очень благодарен =)
0
fasked
Эксперт С++
4976 / 2556 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
01.09.2010, 08:35 #18
Если интересно мои варианты решения
http://www.cyberforum.ru/post886258.html
http://www.cyberforum.ru/post886206.html
0
TransformatoR
7 / 7 / 1
Регистрация: 31.08.2010
Сообщений: 129
01.09.2010, 10:07  [ТС] #19
Цитата Сообщение от fasked Посмотреть сообщение
Если интересно мои варианты решения
http://www.cyberforum.ru/post886258.html
http://www.cyberforum.ru/post886206.html
У меня почему-то не переводит римские в арабские..

Добавлено через 6 минут
И ещё я никак не могу додуматься, как сделать на Паскаль так, чтобы он выводил ошибку при неправильном вводе римского числа, а то он все числа переводит.
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
01.09.2010, 11:22 #20
Что конкретно непонятно?
0
01.09.2010, 11:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.09.2010, 11:22
Привет! Вот еще темы с решениями:

Двоичная система счисления
как написать програму которая переводить цифру в двоичну систему счисления.c++

Система счисления с основанием 37
Здравствуйте, уважаемые форумчане. Хочу написать программу для перевода из...

Четверичная система счисления
Как можно записать программу переводящую десятичную систему счисления в...

Фибоначчиева система счисления
Помогите с кодом для перевода с десятичной в Фибоначчиеву систему счисления....


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

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

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