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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.67
TransformatoR
7 / 7 / 0
Регистрация: 31.08.2010
Сообщений: 129
#1

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

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

Всем здравствуйте!
Очень нужна помощь в написании программы по переводу из римской системы счисления в арабскую на языке СИ.
Я в этом почти ничего не понимаю.
Заранее спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rrrFer
Заблокирован
31.08.2010, 21:20     Римская система счисления. #2
чем помочь?
TransformatoR
7 / 7 / 0
Регистрация: 31.08.2010
Сообщений: 129
31.08.2010, 21:25  [ТС]     Римская система счисления. #3
Цитата Сообщение от rrrFer Посмотреть сообщение
чем помочь?
Да, наверное, лучше написать её, а то я всю свою жизнь в турбо-паскале писал, а тут задали на мою голову, так что, боюсь, не смогу...
Буду очень признателен!
silent_1991
Эксперт С++
4952 / 3028 / 149
Регистрация: 11.11.2009
Сообщений: 7,026
Завершенные тесты: 1
31.08.2010, 21:28     Римская система счисления. #4
TransformatoR,
У вас есть идеи по решению задачи?
TransformatoR
7 / 7 / 0
Регистрация: 31.08.2010
Сообщений: 129
31.08.2010, 21:31  [ТС]     Римская система счисления. #5
В Pascal я это сделалс помошью оператора Case. Однако, здесь его, похоже, нету... По-этому, я не имею даже малейшего понятия
silent_1991
Эксперт С++
4952 / 3028 / 149
Регистрация: 11.11.2009
Сообщений: 7,026
Завершенные тесты: 1
31.08.2010, 21:31     Римская система счисления. #6
В си есть оператор case. Но даже не будь его, можно было бы обойтись и if-else.
TransformatoR
7 / 7 / 0
Регистрация: 31.08.2010
Сообщений: 129
31.08.2010, 21:35  [ТС]     Римская система счисления. #7
Малость перепутал... С помощью for to do, однако, на СИ я не знаю даже элементарных команд..
silent_1991
Эксперт С++
4952 / 3028 / 149
Регистрация: 11.11.2009
Сообщений: 7,026
Завершенные тесты: 1
31.08.2010, 21:35     Римская система счисления. #8
Давайте код на паскале
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
31.08.2010, 21:36     Римская система счисления. #9
TransformatoR, смотри здесь и пределывай))
TransformatoR
7 / 7 / 0
Регистрация: 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, смотри здесь и пределывай))
Насколько я понял. там только постановка задачи, однако нет её решения...
silent_1991
Эксперт С++
4952 / 3028 / 149
Регистрация: 11.11.2009
Сообщений: 7,026
Завершенные тесты: 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;
}
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
31.08.2010, 21:50     Римская система счисления. #12
TransformatoR, смотри http://www.cyberforum.ru/cpp-beginne...tml#post886087 418-й пост
TransformatoR
7 / 7 / 0
Регистрация: 31.08.2010
Сообщений: 129
31.08.2010, 21:57  [ТС]     Римская система счисления. #13
silent_1991
Что значит эта строчка: for (i = 0, c = 0, n = 0; i < strlen(s); i++)
Она почему-то не компилируется
silent_1991
Эксперт С++
4952 / 3028 / 149
Регистрация: 11.11.2009
Сообщений: 7,026
Завершенные тесты: 1
31.08.2010, 21:59     Римская система счисления. #14
TransformatoR,
Попробуй в самом начале, где строки #include ..., написать #include <string.h>
TransformatoR
7 / 7 / 0
Регистрация: 31.08.2010
Сообщений: 129
31.08.2010, 22:00  [ТС]     Римская система счисления. #15
Maxwe11, Что-то я просмотрел.. Действительно, однако мне нужно, что структура решения была схожа с примером на Pascal, приведённым выше.
silent_1991
Эксперт С++
4952 / 3028 / 149
Регистрация: 11.11.2009
Сообщений: 7,026
Завершенные тесты: 1
31.08.2010, 22:01     Римская система счисления. #16
TransformatoR,
А что вас не устраивает? Я писал код, полностью основываясь на вашем, переделал только команды и синтаксис.

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

Добавлено через 2 минуты
silent_1991,
Я писал это Maxwe11у, он нал мне ссылку на несколько другое решение, а вам я очень благодарен =)
fasked
Эксперт C++
4932 / 2512 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
01.09.2010, 08:35     Римская система счисления. #18
Если интересно мои варианты решения
Задачи для тренировки и лучшего понимания
Задачи для тренировки и лучшего понимания
TransformatoR
7 / 7 / 0
Регистрация: 31.08.2010
Сообщений: 129
01.09.2010, 10:07  [ТС]     Римская система счисления. #19
У меня почему-то не переводит римские в арабские..

Добавлено через 6 минут
И ещё я никак не могу додуматься, как сделать на Паскаль так, чтобы он выводил ошибку при неправильном вводе римского числа, а то он все числа переводит.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.09.2010, 11:22     Римская система счисления.
Еще ссылки по теме:

C++ Четверичная система счисления
C++ Система счисления с основанием 37
Двоичная система счисления C++
C++ Двоичная система счисления
C++ Система счисления

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

Или воспользуйтесь поиском по форуму:
silent_1991
Эксперт С++
4952 / 3028 / 149
Регистрация: 11.11.2009
Сообщений: 7,026
Завершенные тесты: 1
01.09.2010, 11:22     Римская система счисления. #20
Что конкретно непонятно?
Yandex
Объявления
01.09.2010, 11:22     Римская система счисления.
Ответ Создать тему
Опции темы

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