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

двоичная система - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
08.05.2011, 08:03     двоичная система #1
перевод из десятичной в двоичную
скажите как записать результат в обратном порядке!!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
 
using namespace std;
 
void fuck(const int num, string &snum){
    if (num%2==0)
        snum+="0";
    else snum+="1";
    if ((num/2)!=0) fuck(num/2, snum);
    else return;
}
 
int main(){
    string snum;
    int h;
    cin>>h;
    fuck(h, snum);
    cout<<snum<<endl;
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2011, 08:03     двоичная система
Посмотрите здесь:

Двоичная система C++
C++ Двоичная быстрая сортировка
рекурсия + двоичная система + Фибоначчи C++
алгоритм двоичная вставка C++
C++ Двоичная система счисления!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryLaptev
Эксперт C++
1004 / 783 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
08.05.2011, 10:09     двоичная система #2
1. НИКОГДА не называй свои функции fuck! Работать не будет... Или сваливай с программирования!
2. Много способов. Самый простой - использовать reverse(). Это стандартный алгоритм. Или использовать при выводе в цикле обратные итераторы rbegin() и rend() ^)
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
08.05.2011, 10:13  [ТС]     двоичная система #3
ну назвал не я её так...... reverse(), почему то тоже не хотел работать у меня!!!!
ValeryLaptev
Эксперт C++
1004 / 783 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
08.05.2011, 10:22     двоичная система #4
Текст проги, где реверс вызываешь, покажи.
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
08.05.2011, 10:27  [ТС]     двоичная система #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string>
 
using namespace std;
 
void foo(const int num, string &snum){
        if (num%2==0)
                snum+="0";
        else snum+="1";
        if ((num/2)!=0) foo(num/2, snum);
        else return;
}
 
int main(){
        string snum;
        int h;
        cin>>h;
        foo(h, snum);
        
        cout<<reverse(snum)<<endl;
        system("pause");
        return 0;
}
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
08.05.2011, 10:28     двоичная система #6
C++
1
2
reverse(snum.begin(), snum.end());
cout << snum;
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
08.05.2011, 10:29  [ТС]     двоичная система #7
оболдеть, я не знал что так вызвать можно!! пасибо!!
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
08.05.2011, 10:30     двоичная система #8
Для чего рекурсия, так препод хотел?
ValeryLaptev
Эксперт C++
1004 / 783 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
08.05.2011, 10:32     двоичная система #9
Цитата Сообщение от 2008kedr2008 Посмотреть сообщение
оболдеть, я не знал что так вызвать можно!! пасибо!!
Блин, ну хоть иногда справочник-то читать надо!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2012, 00:14     двоичная система
Еще ссылки по теме:

C++ двоичная система счисления
Двоичная(бинарная) сортировка C++
Двоичная обработка данных C++

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

Или воспользуйтесь поиском по форуму:
kuy
0 / 0 / 0
Регистрация: 22.10.2011
Сообщений: 7
19.04.2012, 00:14     двоичная система #10
Намного легче и понятней дописывать в начало строки:
Код
snum="0"+snum;
else snum="1"+snum;
(8-9 строчка в первом коде)
Yandex
Объявления
19.04.2012, 00:14     двоичная система
Ответ Создать тему
Опции темы

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