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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.75
Toda
10 / 10 / 0
Регистрация: 16.11.2012
Сообщений: 320
#1

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

12.06.2013, 13:15. Просмотров 3191. Ответов 5
Метки нет (Все метки)

Здравствуйте! Нужно написать рекурсивную функцию перевода числа с десятичной системы
исчисления в двоичную. Примерно знаю как реализовать с помощью цикла, но не уверен. Рекурсия для меня - вообще темный лес.
Заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2013, 13:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать рекурсивную функцию перевода числа с десятичной системы исчисления в двоичную (C++):

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

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

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

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

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

Разработка рекурсивной функции для перевода числа из десятичной сс в двоичную - C++
На уроке преподаватель не объясняет как решать. Задачи берутся из "Основы программирования на языке С++" часть 2 Огнева М.В., Кудрина Е.В....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
12.06.2013, 14:05 #2
C++
1
2
3
4
5
6
7
8
void Print(unsigned a)
{
   if(a)
   {
      Print(a >> 1);
      cout << (a & 1);
   }
}
Toda
10 / 10 / 0
Регистрация: 16.11.2012
Сообщений: 320
12.06.2013, 20:19  [ТС] #3
Thinker, не могу разобраться с Вашим "куском" кода. Буду признателен за рабочую программу.
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
12.06.2013, 21:10 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
void Print(unsigned a)
{
   if(a)
   {
      Print(a >> 1);
      std::cout << (a & 1);
   }
}
int main()
{
   unsigned a;
   std::cin >> a;
   Print(a);
   return 0;
}
Toda
10 / 10 / 0
Регистрация: 16.11.2012
Сообщений: 320
12.06.2013, 22:59  [ТС] #5
Thinker, Спасибо!)

Добавлено через 1 минуту
Вот попробовал написать сам прогу, вроде бы получилось :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
10. #include "Laba9.h"
11. #include <iostream>
12. #include <conio.h>
13. #include <string>
14. using namespace std;
15.  
16. void dec(const int a, string &snum){
17.     if (a%2==0)
18.         snum+="0";
19.     else snum+="1";
20.     if ((a/2)!=0) dec(a/2, snum);
21.     else return;
22. }
23.  
24. int main(){
25.     int a;
26.     string snum;
27.     cout<<"Vvedite chislo: ";
28.     cin>>a;
29.     dec(a, snum);
30.     cout<<snum<<endl;
31.     getch();
32. }
Cryght
0 / 0 / 0
Регистрация: 01.05.2017
Сообщений: 1
25.06.2017, 16:22 #6
Toda, у вас программа выводит не правильный результат. После преобразования нужно было сделать реверс строки.

Я сделал без реверса, но выводит правильный результат.

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
#include <iostream>
#include <string>
using namespace std;
void Bin(int x, string &cc)
{
    if (x > 0)
    {
        if (x % 2 == 0)
        {
            x = x / 2;
            Bin(x, cc);
            cc += '0';
        }
        else {
            x = x / 2;
            Bin(x, cc);
            cc += '1';
             }
    }
}
void main()
{
    setlocale(LC_ALL, "rus");
    int b;
    string c;
    cout << "Введите число : ";
    cin >> b;
    Bin(b,c);
    cout << c << endl;
 
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2017, 16:22
Привет! Вот еще темы с ответами:

Перевод числа из десятичной системы в двоичную - C++
нужно написать программу перевода числа из десятичной системы в двоичную используя только цикл for и If else #include &lt;iostream&gt; ...

Перевод числа из десятичной системы в двоичную - C++
нужно написать программу перевода числа из десятичной системы в двоичную используя только цикл for и If else #include &lt;iostream&gt; ...

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.06.2017, 16:22
Ответ Создать тему
Опции темы

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