С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
 Аватар для TransformatoR
7 / 7 / 0
Регистрация: 31.08.2010
Сообщений: 131

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

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

Студворк — интернет-сервис помощи студентам
Всем здравствуйте!
Очень нужна помощь в написании программы по переводу из римской системы счисления в арабскую на языке СИ.
Я в этом почти ничего не понимаю.
Заранее спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.08.2010, 21:12
Ответы с готовыми решениями:

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

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

16-ая система счисления
Добрый вечер. столкнулся с проблемой: имеется char operand. Для примера он будет равен 1000. Я пeревожу в int x. А теперь надо что бы...

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

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

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

Добавлено через 6 минут
И ещё я никак не могу додуматься, как сделать на Паскаль так, чтобы он выводил ошибку при неправильном вводе римского числа, а то он все числа переводит.
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
01.09.2010, 11:22
Что конкретно непонятно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.09.2010, 11:22
Помогаю со студенческими работами здесь

Система счисления
Решите пожалуйста,очень нужно,а времени нету на это 1. Выполнить перевод чисел а) из 10–ой с/с в 2–ую систему счисления: 165; 541;...

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

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

Четверичная система счисления
Как можно записать программу переводящую десятичную систему счисления в четверичную на языке Си? Добавлено через 38 минут Я нашел...

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Old Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru