Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 5.00
DEUCE
7 / 7 / 2
Регистрация: 11.04.2010
Сообщений: 25
#1

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

11.04.2010, 15:29. Просмотров 2355. Ответов 3
Метки нет (Все метки)

у меня к вам нестандартная просьба... вот готовый код. Можете коротко расписать объяснения к каждой строке(строки ввода, вывода и объявления переменных не нужно) Особенно это ms[k1--]=num1>9?i-10+'a':num1+'0'; а то я никак не пойму....
зарание спасибо
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
 #include<iostream.h>
 #include<stdio.h>
void main()
{
int ss,k1=10,k2=11,t=1,num1,i;
double num;
char ms[20];
char znak=' ';
cout<<"vvedite isxodnoe chislo\n";
cin>>num;
if (num<0) {znak='-';num*=-1;}
cout<<"vvedite novoe osnovanie\n";
cin>>ss;
 
     num1=num;
          num=0;
             while(num1>=ss)
             {
                        i=num1%ss;
                        num1/=ss;
                        ms[k1--]=i>9?i-10+'a':i+'0';
             }
             ms[k1--]=num1>9?i-10+'a':num1+'0';
             ms[k1]=znak;
             ms[k2++]=' ';
             while(num!=0 && k2-11<=t)
             {
                        num*=ss;
                        i=num;
                        num-=i;
                        ms[k2++]=i>9?i-10+'a':i+'0';
             }
             cout<<"\nResult\n";
             for (i=k1;i<k2;i++) {cout<<ms[i];}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2010, 15:29
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Программа для перевода данного натурального числа в N-ную систему счисления (C++):

Рекурсивная функция для перевода данного натурального числа в заданную систему счисления - C++
Составить рекурсивную функцию для перевода данного натурального числа в р-ичную систему счисления (2&lt;= р&lt;= 9). Только начали проходить...

Составить программу для перевода данного натурального числа в p-ичную систему счисления - C++
Составить программу для перевода данного натурального числа в p-ичную систему счисления (2 &lt; р &lt; 9). Добавлено через 27 минут ...

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

Программа перевода целого числа без знака в двоичную систему счисления - C++
Здравствуйте . Помогите , пожалуйста , реализовать программу перевода целого числа без знака в двоичную систему счисления , при этом...

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

Перевод числа из 10-ной в 2-ную систему счисления - C++
помогите пожалуйста. я ввожу число он выдает двоичную систему счисления (например 100101 и затем нули, после числа бесконечно) вот так:...

3
Sekt
157 / 156 / 10
Регистрация: 29.04.2009
Сообщений: 637
11.04.2010, 15:45 #2
C
1
ms[k1--]=num1>9?i-10+'a':num1+'0
в предедущий элемент массива (он исп операцию постдекремент -- ) присваивается значение переменной i+10+'a' если переменная num1>9 иначе в переменную num1 присваивается num1+'0'
P.s оператор ?true:false; эквевалентен if(...)else(...);
1
DEUCE
7 / 7 / 2
Регистрация: 11.04.2010
Сообщений: 25
11.04.2010, 16:36  [ТС] #3
i-10+'a' а что конкретно это значит???

Добавлено через 10 минут
Цитата Сообщение от Sekt Посмотреть сообщение
C
1
ms[k1--]=num1>9?i-10+'a':num1+'0
в предедущий элемент массива (он исп операцию постдекремент -- ) присваивается значение переменной i+10+'a' если переменная num1>9 иначе в переменную num1 присваивается num1+'0'
P.s оператор ?true:false; эквевалентен if(...)else(...);
я заменил свое выражение на if else.. когда перевод в 16-ую идет, тогда с буквами считает все нормально...а вот в двоичную.. не работает...а с ms[k1--]=num1>9?i-10+'a':num1+'0'; работает....
0
proset
12 / 12 / 0
Регистрация: 23.12.2009
Сообщений: 149
25.05.2010, 18:25 #4
А ты свой код запускать то пробовал???Функцию void он не распознает,пишет , что это непонятна штука какая-то! А поменял на int так он ваще пишет о несовместимости типов Double и Integer
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2010, 18:25
Привет! Вот еще темы с ответами:

Функция: перевод числа из 10-ной в 16-ную систему счисления - C++
Напишите функцию, которая переводит заданное число из 10-ной системы счисления в 16-ричную систему счисления

Простейший алгоритм перевода числа из 10 системы счисления в 16 ричную систему счисления - C++
Помогите написать самый простой алгоритм перевода из 10 системы счисления в 16 ричную систему счисления! Мне нужен именно самый простенький...

Написать рекурсивную функцию перевода целого числа из десятичной системы счисления в 9 систему счисления C++ - C++
Написать рекурсивную функцию перевода целого числа из десятичной системы счисления в 9-чную систему счисления.

Перевод натурального числа из десятичной системы счисления в систему счисления по основанию - C++
Здравствуйте. Я хотела бы попросить у вас помощи. Я понимаю, что это не очень красиво, но вдруг кто-нибудь откликнется. Я не очень...


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

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

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