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

Разработка рекурсивной функции для перевода числа из десятичной сс в двоичную - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.75
Noti
0 / 0 / 0
Регистрация: 16.03.2011
Сообщений: 23
16.03.2011, 16:44     Разработка рекурсивной функции для перевода числа из десятичной сс в двоичную #1
На уроке преподаватель не объясняет как решать. Задачи берутся из "Основы программирования на языке С++" часть 2 Огнева М.В., Кудрина Е.В. Помогите, пожалуйста

Разработка рекурсивной функции, возвращающую значение
1. Для перевода числа из десятичной сс в двоичную.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2011, 16:44     Разработка рекурсивной функции для перевода числа из десятичной сс в двоичную
Посмотрите здесь:

Перевод числа из десятичной системы в двоичную C++
Перевод числа из десятичной системы в двоичную C++
Написать рекурсивную функцию перевода числа с десятичной системы исчисления в двоичную C++
C++ Составить рекурсивной функции, которая переводит числа из десятичной системы счисления в шестнадцатилетнюю
C++ Рекурсивная процедура перевода числа из десятичной системы счисления в двоичную
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
slava_g1
 Аватар для slava_g1
70 / 70 / 8
Регистрация: 06.02.2011
Сообщений: 127
16.03.2011, 17:04     Разработка рекурсивной функции для перевода числа из десятичной сс в двоичную #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
 
using namespace std;
 
void dec(const int num, string &snum){
    if (num%2==0)
        snum+="0";
    else snum+="1";
    if ((num/2)!=0) dec(num/2, snum);
    else return;
}
 
int main(){
    string snum;
    dec(57, snum);
    cout<<snum<<endl;
}
Noti
0 / 0 / 0
Регистрация: 16.03.2011
Сообщений: 23
16.03.2011, 17:08  [ТС]     Разработка рекурсивной функции для перевода числа из десятичной сс в двоичную #3
slava_g1,
Что значит в 11 строке
dec(num/2, snum);
И в 17:
dec(57, snum);

Спасибо!
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
16.03.2011, 18:35     Разработка рекурсивной функции для перевода числа из десятичной сс в двоичную #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Noti Посмотреть сообщение
Разработка рекурсивной функции, возвращающую значение
1. Для перевода числа из десятичной сс в двоичную.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
void dec_to_bin(int n){
  if (n >= 2)
    dec_to_bin(n / 2);
  std::cout <<  n % 2;
}
 
int main(){
  int n;
  std::cout << "\n\nn -> ";
  std::cin >> n;
  std::cout << "\n\nBin = ";
  dec_to_bin(n);
  return 0;
}
Vandris
 Аватар для Vandris
63 / 63 / 13
Регистрация: 19.01.2011
Сообщений: 90
16.03.2011, 19:22     Разработка рекурсивной функции для перевода числа из десятичной сс в двоичную #5
11я строка: вызов функции самой себя(рекурсия)

17я строка: вызов функции dec(,) с параметрами 57 и snum. Функция запишет двоичное представление числа 57 в строку snum.
Yandex
Объявления
16.03.2011, 19:22     Разработка рекурсивной функции для перевода числа из десятичной сс в двоичную
Ответ Создать тему
Опции темы

Текущее время: 13:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru