0 / 0 / 0
Регистрация: 07.02.2018
Сообщений: 15
1

Перевести число в любую систему счисления (от 2 до 9)

07.02.2018, 20:25. Показов 2858. Ответов 15

Привет. Необходимо перевести число в любую систему счисления (от 2 до 9) НЕ ИСПОЛЬЗУЯ массивов и строк.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void main() {
    setlocale(LC_ALL, "Russian");
    int a, n;
    cout << "Введите число и систему счисления(от 2 до 9): " << endl;
    cin >> a >> n;
    if (n >= 2 && n <= 9) {
        do {
            cout << a % n;
            a /= n;
        } while (a != 0);
    }
    else
        cout << "Вы ввели неверную систему счисления!" << endl;
    cout << endl;
}
Вот то, что я сделал, но числа оно не переворачивает числа. Помогите плз)
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.02.2018, 20:25
Ответы с готовыми решениями:

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

Строка: Перевести число из римской системы счисления в десятичную систему счисления
Введите массив символов из 13 элементов. Перевести число из римской системы счисления в десятичную...

Системы счисления. Перевести данное натуральное число в 16-тиричную систему счисления
Составить программу перевода данного натурального числа n в 16теричную систему счисления....

Перевести число из системы счисления с основанием 19 в десятичную систему счисления
Уважаемые разбирающиеся во всём этом люди, прошу вас помочь мне с этой задачей Примечания...

15
0 / 0 / 0
Регистрация: 07.02.2018
Сообщений: 15
07.02.2018, 20:48  [ТС] 3
без функций тоже, препод сказал, что есть какой-то другой способ(((
0
║XLR8║
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,361
Записей в блоге: 5
07.02.2018, 20:52 4
daidyaka, тебе в любом случае надо какой-то буфер, либо надо доставать цыфры не с конца а с начала. А для этого нужно сначала посчитать сколько у тебя вообще цыфер будет.
0
Заблокирован
07.02.2018, 21:00 5
C++
1
2
3
4
string s="";
int base=5;//2-9
for(;n;n/=base)
  s=(char)('0'+n%base)+s;
0
0 / 0 / 0
Регистрация: 07.02.2018
Сообщений: 15
07.02.2018, 21:07  [ТС] 6
MansMI, 2-9=5?
0
Заблокирован
07.02.2018, 21:09 7
Цитата Сообщение от daidyaka Посмотреть сообщение
(от 2 до 9)
все равно не канает, строки нельзя
0
0 / 0 / 0
Регистрация: 07.02.2018
Сообщений: 15
07.02.2018, 21:21  [ТС] 8
Ответ нашел: Программа перевода систем счисления
0
Заблокирован
07.02.2018, 21:35 9
тогда 1023 предел
0
Модератор
Эксперт по электронике
8729 / 6522 / 884
Регистрация: 14.02.2011
Сообщений: 22,822
08.02.2018, 08:27 10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
unsigned int long long func(int n, int base)
{ 
 
unsigned int long long i=1;
unsigned int long long res=0;
while(n)
{
 res+=n%base*i;
 n/=base;
i*=10;
}
return res;
}
0
3503 / 2122 / 395
Регистрация: 09.09.2017
Сообщений: 8,788
08.02.2018, 10:37 11
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
 
int main(){
  int val, max=1, i, base;
  scanf("%i%i", &val, &base);
  while(max <= val)max *= base;
  max /= base;
  do{
    printf("%i", val / max);
    val %= max;
    max /= base;
  }while(max);
  printf("\n");
}
0
Заблокирован
08.02.2018, 10:50 12
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
max /= base;
сколько будет?
0
3503 / 2122 / 395
Регистрация: 09.09.2017
Сообщений: 8,788
08.02.2018, 11:18 13
Не понял вопроса.
0
Заблокирован
08.02.2018, 11:49 14
разве это не max = 1/base;?
0
3503 / 2122 / 395
Регистрация: 09.09.2017
Сообщений: 8,788
08.02.2018, 12:14 15
нет, это
C
1
max = max / base;
0
2754 / 1908 / 569
Регистрация: 05.06.2014
Сообщений: 5,560
08.02.2018, 13:40 16
Лучший ответ Сообщение было отмечено ildwine как решение

Решение

C++
1
2
3
4
5
void print(int N,int base){
    if(N>=base)
        print(N/base,base);
    std::cout.put('0'+N%base);
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2018, 13:40
Помогаю со студенческими работами здесь

Как перевести число с 16 системы счисления в 2 систему счисления (программа)
Как перевести число с 16 системы счисления в 2 систему счисления ? (программа).

Перевести число в систему счисления
Надо перевести число в восьмиричную систему счисления как это зделать?подскажите пожалуйста.

Перевести число в 10-ю систему счисления
Дано шестнадцатеричное число, в котором буквенные обозначения цифр могут быть записаны как...

Дано число n. Требуется перевести это число в римскую систему счисления
Дано число n. Требуется перевести это число в римскую систему счисления. Вход 9 Выход IX Вход ...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru