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

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

Войти
Регистрация
Восстановить пароль
 
Монтгомери
0 / 0 / 0
Регистрация: 10.09.2013
Сообщений: 116
#1

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

11.06.2014, 00:06. Просмотров 1121. Ответов 3
Метки нет (Все метки)

На вычислительной практике дали такое задание:

С клавиатуры вводятся 2 положительных целых числа: число A (в системе счисления с основанием p) и число B (в системе счисления с основанием q). Необходимо вычислить и вывести на экран число C в системе счисления с основанием r:
p=5, q=6, r=3, C=A-B
При вводе чисел A и B должно автоматически проверяться, является ли их форма записи числа корректной в соответствии с выбранной системой счисления.

Как проверить корректность числа в заданной системе счисления? Это основной вопрос.
Хотя, если подскажете, как переводить оба числа, к примеру, в десятичную систему, буду ещё больше благодарен.

Заранее спасибо
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2014, 00:06     Проверить корректность числа в заданной системе счисления и перевести в другую систему счисления
Посмотрите здесь:

C++ Перевод из 10-ой в любую другую систему счисления.
C++ Простейший алгоритм перевода числа из 10 системы счисления в 16 ричную систему счисления
C++ перевод числа в другую систему счисления
C++ Перевод натурального числа из десятичной системы счисления в систему счисления по основанию
Перевод числа в p-ичной системе счисления в десятичную систему C++
C++ Смена алгоритма при переводе числа в другую систему счисления
C++ Написать рекурсивную функцию перевода целого числа из десятичной системы счисления в 9 систему счисления C++
C++ Перевести из 16-ой в 2-ую систему счисления
C++ Перевести в 10 систему счисления
C++ Проверить правильность ввода числа в двоичной системе счисления
Перевести числа из 8-ой в 10-ю систему счисления C++
C++ Перевести из 10 в 32 систему счисления

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
you_rule
 Аватар для you_rule
56 / 57 / 21
Регистрация: 08.03.2014
Сообщений: 138
11.06.2014, 00:33     Проверить корректность числа в заданной системе счисления и перевести в другую систему счисления #2
Монтгомери, чтобы проверить корректность всего числа, необходимо проверить каждую цифру. Каждая цифра должна быть меньше основания системы счисления и больше -1. Исключением является система счисления с основанием 1, здесь все числа должны быть равны единице.

Переводите каждое число в десятичную сист. сч., а затем в нужную, например:
из двоичной в десятичную
1010=0* 2^0 + 1* 2^1 + 0* 2^2 + 1* 2^3=0+2+0+8=10
Тоесть начиная с младшего разряда (нулевой 0) находим сумму произведения цифры с разрядом I на основание системы счисления в степени I.
Монтгомери
0 / 0 / 0
Регистрация: 10.09.2013
Сообщений: 116
11.06.2014, 00:53  [ТС]     Проверить корректность числа в заданной системе счисления и перевести в другую систему счисления #3
А как именно брать каждую цифру отдельно? Брать остатки от деления на 10, 100, 1000 и т.д., а потом уже сравнивать? Тогда это в цикле надо делать, но как определить, до каких пор продолжать это действие?

И ещё: как перевести результат из десятичной в, к примеру, троичную? (описал я в шапке только один из 15 вариантов).
you_rule
 Аватар для you_rule
56 / 57 / 21
Регистрация: 08.03.2014
Сообщений: 138
11.06.2014, 01:06     Проверить корректность числа в заданной системе счисления и перевести в другую систему счисления #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
вывод всех цифр.
C++
1
2
3
4
5
6
int chislo=2326462452;
while (chislo>0)
{
     cout<<chislo%10;
     chislo/=10;
}
вот пример перевода из десятичной в двоичную
C++
1
2
3
4
5
6
7
8
    int dec, bin=0, j;
 
    cin >> dec;
    for(j=0; dec>0; j++)
    {
        bin+=(dec%2)*pow(10.0,j);
        dec/=2;
    }
здесь dec - исходное число, bin - конечное двоичное, на форуме уже есть ответы на многие вопросы
Yandex
Объявления
11.06.2014, 01:06     Проверить корректность числа в заданной системе счисления и перевести в другую систему счисления
Ответ Создать тему
Опции темы

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