Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
masterflash
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 9
#1

направьте на путь истинный) перевод систем счисления - C++

23.09.2013, 00:36. Просмотров 504. Ответов 3
Метки нет (Все метки)

прошу помощи. как реализовать перевод из 10 сис.счисления в любую другую(по моему примеру)?вроде бы все должно идти верно..

в кнопке пишу:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int а=31; //число
int i=0;
int b[10]; //получаемый массив цифр
int osn=2; //основание системе счисления
int ch; //частное при делении числа на основание
 
while (ch>osn) {
ch=a/osn;
b[i]=a-ch*osn;
a=ch;
i++;
}
 
b[i]=ch;
Label1->Caption=b[i];
}
должен вывести массив цифр в системе счисления с основанием "osn". подскажите, что в моем примере не так.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2013, 00:36
Я подобрал для вас темы с готовыми решениями и ответами на вопрос направьте на путь истинный) перевод систем счисления (C++):

Направьте на путь истинный!)
Здравствуйте господа и леди форума) Начал я изучать язык программирования с++,...

Направьте на путь истинный
Содержание работы: Написать программу, реализующую обмен (чтение/запись) данных...

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

Перевод систем счисления
Здраствуйте, на входе имеется некое десятеричное число (примеры:1 / 2,8 /...

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

перевод систем счисления
1. Задание: Напишите программу перевода чисел из 2 системы в 10. ...

3
nexen
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
23.09.2013, 12:26 #2
masterflash, ну как минимум while(ch>osn) - ошибка, ибо ch не инициализировано до цикла. А вообще, всё делается проще (если использовать твои наименования):
C++
1
2
3
4
5
6
7
8
int a, osn = 2, i = 0;
int b[1000];
while (a != 0)
{
b[i] = a % osn;
a /= osn;
++i;
}
Только учитывая, что число в массиве b записано в обратном порядке, т.е. для вывода (на C++) сразу после этого кода:
C++
1
2
3
4
5
6
--i; // ибо i было равно кол-ву цифр, а массив у нас от 0 до i-1
while(i >= 0)
{
printf("%d ", b[i]);
--i;
}
1
masterflash
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 9
23.09.2013, 15:58  [ТС] #3
Цитата Сообщение от nexen Посмотреть сообщение
masterflash, ну как минимум while(ch>osn) - ошибка, ибо ch не инициализировано до цикла. А вообще, всё делается проще (если использовать твои наименования):
C++
1
2
3
4
5
6
7
8
int a, osn = 2, i = 0;
int b[1000];
while (a != 0)
{
b[i] = a % osn;
a /= osn;
++i;
}
Только учитывая, что число в массиве b записано в обратном порядке, т.е. для вывода (на C++) сразу после этого кода:
C++
1
2
3
4
5
6
--i; // ибо i было равно кол-ву цифр, а массив у нас от 0 до i-1
while(i >= 0)
{
printf("%d ", b[i]);
--i;
}
спасибо за отклик, я пробую:

C++
1
2
3
4
5
6
7
8
9
10
11
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int a=31, osn = 2, i = 0;
int b[1000];
while (a != 0)
{
b[i] = a % osn;
a /= osn;
++i;
}
Label1->Caption=b[i];
на этом этапе он должен выводить массив, где цифры расположены пока что наоборот,верно? (с++ builder)
пс: числу a,для примера,присвоил сразу "31"
0
nexen
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
23.09.2013, 16:50 #4
masterflash, на этом этапе он просто сформировал массив. Я понятия не имею, что такое
C++
1
Label1->Caption=b[i];
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2013, 16:50
Привет! Вот еще темы с решениями:

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

Наставте на истинный путь начинающего
Дорогие друзья я изучил основы языка C++.И хотел бы продвигаться дальше в...

Направьте на верный путь
"Дана символьная матрица размера 4 х 5. Из последовательности её строк...

Направьте меня на верный путь...
У меня задача: Дана символьная матрица размера 4 х 5. Из последовательности её...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru