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

Числа по основанию 8 и 4. Выполнить операцию деления - C++

Восстановить пароль Регистрация
 
alex-net
3 / 3 / 1
Регистрация: 27.11.2012
Сообщений: 171
15.01.2013, 18:58     Числа по основанию 8 и 4. Выполнить операцию деления #1
Числа по основанию 8 и 4. Выполнить операцию деления.

Добавлено через 4 часа 38 минут
Помогите пожалуйста, я знаю алгоритм, но не знаю, как реализовать на языке c++.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2013, 18:58     Числа по основанию 8 и 4. Выполнить операцию деления
Посмотрите здесь:

Выполнить операцию транспонирования прямоугольной матрицы C++
Написать программу, которая переводит числа по основанию 8 в 4. Выполнить операцию деления C++
Числа по основанию 10 и 16. Выполнить операцию сложения C++
C++ Числа по основанию 2 и 10. Выполнить операцию умножения
Используя одну операцию деления нацело и одну операция взятия остатка от деления найти цифру. соответствующую разряду ты C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0xv
12 / 12 / 1
Регистрация: 28.12.2012
Сообщений: 41
15.01.2013, 19:02     Числа по основанию 8 и 4. Выполнить операцию деления #2
Два числа и каждое записано в своей системе?
alex-net
3 / 3 / 1
Регистрация: 27.11.2012
Сообщений: 171
15.01.2013, 20:48  [ТС]     Числа по основанию 8 и 4. Выполнить операцию деления #3
Да, ввести число в 8 сс и ввести число в 4 сс, а потом их поделить между собой, наверное, перед тем как поделить, перевести их в одну сс счисления.
alex-net
3 / 3 / 1
Регистрация: 27.11.2012
Сообщений: 171
19.01.2013, 20:00  [ТС]     Числа по основанию 8 и 4. Выполнить операцию деления #4
Желательно, чтобы и с дробями работало.
ya_noob
_
200 / 144 / 9
Регистрация: 08.10.2011
Сообщений: 432
19.01.2013, 20:08     Числа по основанию 8 и 4. Выполнить операцию деления #5
а результат в какой сс возвращать?
alex-net
3 / 3 / 1
Регистрация: 27.11.2012
Сообщений: 171
19.01.2013, 20:15  [ТС]     Числа по основанию 8 и 4. Выполнить операцию деления #6
в 8, ну или в какой вам удобно.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2013, 21:11     Числа по основанию 8 и 4. Выполнить операцию деления
Еще ссылки по теме:

Числа по основанию 2 и 16. Выполнить операцию умножения C++
Ввести два числа и выполнить указанную операцию C++

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

Или воспользуйтесь поиском по форуму:
ya_noob
_
200 / 144 / 9
Регистрация: 08.10.2011
Сообщений: 432
19.01.2013, 21:11     Числа по основанию 8 и 4. Выполнить операцию деления #7
мне удобнее лечь спать и вообще не писать код
А если по делу то конечно в десятичной, т.к. неохота писать ф-цию для перевода из 10сс в другую.

Готовую прогу щас не напишу, т.к. нет сил, но предложу следующее:
функцию из прошлого топика можно легко обобщить на любую систему счисления
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
bool toDec( char *s, int &result, int radix )
{
    char c;
    int i = 0;
 
    result = 0;
    while ( s[ i ] != '\0' )
    {
        if ( c >= '0' && c < radix + '0' )
            result = result * radix + ( c - '0' );
        else
            return false;
    }
    return true;
}
Achtung!!! код на работоспособность не проверял, но думаю, что всё путём. И она работает только для сс < 10.

теперь на выходе имеем десятичное число (radix - система счисления, из которой надо перевести число в десятичную).
Переводим таким способом оба числа в 10сс и делим. На выходе получим результат в 10сс.

Насчет дробей: целую часть дроби можно перевести этой функцией, а дробную часть надо переводить отдельно с помощью слегка модифицированной версии этой функции (код которой я тебе щас не напишу). Ну а потом соединить целую и дробную части в одно число.

Добавлено через 26 минут
Это точно работоспособно:

// для целой части
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
bool toDec( char *s, int &result, int radix )
{
    char c;
    int i = 0;
 
    result = 0;
    while ( s[ i ] != '\0' )
    {
        c = s[ i++ ];
        if ( c >= '0' && c < radix + '0' )
            result = result * radix + ( c - '0' );
        else
            return false;
    }
    return true;
}
// для дробной части. передавай функции дробную часть строки без десятичной точки
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
bool toDecFract( char *s, double &result, int radix )
{
    char c;
    int i = 0;
    double d = 1.0 / radix;
 
    result = .0;
    while ( s[ i ] != '\0' )
    {
        c = s[ i++ ];
        if ( c >= '0' && c < radix + '0' )
        { result += d * ( c - '0' ); d /= radix; }
        else
            return false;
    }
    return true;
}
Yandex
Объявления
19.01.2013, 21:11     Числа по основанию 8 и 4. Выполнить операцию деления
Ответ Создать тему
Опции темы

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