Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 21.09.2017
Сообщений: 11
1

Перевод чисел из одной системы счисления в другую

21.09.2017, 15:03. Показов 3073. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
#include <iostream>
#include <math.h>
#include <stdio.h>
#include <string>
using namespace std;
int main(void)
{
    setlocale(LC_ALL, "Russian");
    int a,b,osna,osnb,t,f,i,sec,d,n,list;
    int array[99];
    list=0;
    n=0;
    t=1;
    i=0;
    f=0;
    printf("Ââåäèòå ñíà÷àëà îñíîâàíèå ñèñòåìû ñ÷èñëåíèÿ (îò 2 äî 10) , à çàòåì ñàìî ÷èñëî:\n");
    scanf("%d", &osna);
    scanf("%d", &a);
    printf("Ââåäèòå îñíîâàíèå (îò 2 äî 10) äëÿ ïåðåâîäà ÷èñëà:\n");
    scanf("%d", &osnb);
    if (osna == 10) {} else {
        while (t != 0)
        {
            f = f + (a % 10) * pow(osna,i);
            i = i + 1;
            a = a / 10;
            t = a;
        }
        a=f;
        osna=10;
    }
    while ( sec >= osnb ) {
        sec = a / osnb;
        array[n] = a % osnb;
        n = n + 1;
    }
    printf("%d", sec);
    while ( list < n + 1 ) {
        printf("%d", array[n]);
        n = n - 1;
        list = list + 1;
    }
   system("pause");
   return 0;
}
В результат пишет одно и то же число при различных значения a,osna,osnb. Прогаю где-то неделю и прошу не судить строго мой код! Просто подскажите,что нужно исправить чтобы прога заработала.(Вместо русских букв в коде получились каракули,но это не важно.)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.09.2017, 15:03
Ответы с готовыми решениями:

Перевод чисел из одной системы счисления в другую
Программа работает для диапазона чисел в 1байт. Отрицательными числа берутся после 127d. проблемма...

Перевод чисел из одной системы счисления в другую
Здравствуйте. Помогите, пожалуйста, доделать программу. Условие: перевод чисел из десятичной...

Перевод чисел из одной системы счисления в другую
0x1f, 0x20. Как такого типа числа привести в десятичную систему счисления, чему они равны в...

Перевод чисел из одной системы счисления в другую
Задание: Написать программу на языке С++ для переведа числа, представленного в системе счисления с...

10
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
21.09.2017, 15:04 2
danilprokat, будет проще, если Вы опишите ещё и задачу.
0
0 / 0 / 0
Регистрация: 21.09.2017
Сообщений: 11
21.09.2017, 15:09  [ТС] 3
Задача простая. Сначала вводим основание системы счисления и число в этой системе счисления. Затем основание системы счисления в которую хотим перевести это число. В результате записывается число b с основанием osnb полученное из числа a по основанию osna. Пишу прогу 2 день чисто для себя.
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
21.09.2017, 16:12 4
danilprokat, советую изучить функции, потому что лепить это всё в один мейн очень громоздко. И Вам будет проще искать ошибки.
0
0 / 0 / 0
Регистрация: 21.09.2017
Сообщений: 11
21.09.2017, 16:17  [ТС] 5
Тамика, функции я ещё изучу,но вот код(по моему мнению) написан более-менее сносно и половина кода работает. Но я не могу понять,почему не работает часть кода,связання с массивами? Можете ответить именно на этот вопрос?
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
21.09.2017, 16:36 6
Цитата Сообщение от danilprokat Посмотреть сообщение
(по моему мнению)
Отож. Глаза от кода побаливают и читаемость отсутствует напрочь.

Сейчас попробую разобраться что здесь и куда.

Добавлено через 6 минут
danilprokat, что в Вашем чудо-коде значит переменная sec и где ей присваивается значение?
0
0 / 0 / 0
Регистрация: 21.09.2017
Сообщений: 11
21.09.2017, 16:41  [ТС] 7
Тамика, sec=11 задал,но проблема не ушла,теперь в результате 00 при вводе 10 2 4
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
21.09.2017, 16:41 8
danilprokat, так что же она значит? Что это за переменная?
0
0 / 0 / 0
Регистрация: 21.09.2017
Сообщений: 11
21.09.2017, 16:44  [ТС] 9
Тамика, Программа работает неисправно,при разных значениях дает неверный результат(разный).

Добавлено через 1 минуту
Нашел сломанный цикл,буду исправлять, можно с вами как-то связаться будет позже?
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
21.09.2017, 16:45 10
Цитата Сообщение от danilprokat Посмотреть сообщение
Тамика, Программа работает неисправно,при разных значениях дает неверный результат(разный).
Да я же не об этом спрашиваю...

Цитата Сообщение от danilprokat Посмотреть сообщение
Нашел сломанный цикл,буду исправлять, можно с вами как-то связаться будет позже?
Конечно. Помочь учащимся святое дело
0
93 / 77 / 31
Регистрация: 29.08.2017
Сообщений: 188
21.09.2017, 18:51 11
Вот, для затравки (код далеко не идеален, в частности, он неправильно работает с основаниями больше 10).

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <stack>
 
using namespace std;
 
int main()
{
    int n = 123;
    int b = 7;
    stack<int> digits;
    do
    {
        digits.push(n % b);
    } while ((n /= b) != 0);
    do
    {
        cout << (char)(digits.top() + (int)'0');
        digits.pop();
    } while (!digits.empty());
    cout << endl;
    return 0;
}
0
21.09.2017, 18:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2017, 18:51
Помогаю со студенческими работами здесь

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

Перевод из одной системы счисления в другую
Помогите разобраться с переводом из любой системы счисления в любую. Хотел составить программу...

Перевод из одной системы счисления в другую
перевод чисел(в том числе с дробной частью) из сс q в сс p.(q, p от 2 до 16) помогите протестить:...

Перевод из одной системы счисления в другую
помогите перевести из 8 ричной системы счисления в 16 ричную ----&gt; Перевод из системы по...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru