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

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

Войти
Регистрация
Восстановить пароль
 
Аццкий Прогер
21 / 10 / 4
Регистрация: 07.01.2013
Сообщений: 222
#1

Задача по bitset - C++

19.08.2013, 17:38. Просмотров 548. Ответов 2
Метки нет (Все метки)

Задача: Предположим, что существует последовательность 1,2,3,5,8,13,21. Инициализируйте набор bitset<32> так, чтобы в каждой из позиций, указанной числом этой последовательности, бит был установлен (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
24
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <bitset>
#include <cmath>
using namespace std;
 
 
void main()
{
    int m = 10;
    int i;
    bitset<32> bit;
    bitset<32> bit_a;
    for (int i1 = 0, i2 = 1; i1 < m; )
    {
        i = i1 + i2;
        i1 = i2;
        i2 = i;
        if (i != 0)
            bit.flip(i);
    }
    cout << bit << endl;
    cout << "\n\n" << endl;
    bit_a.reset();
    bit_a.flip(0+1);
    bit_a.flip(0+2);
    bit_a.flip(0+3);
    bit_a.flip(0+5);
    bit_a.flip(0+8);
    bit_a.flip(0+13);
    bit_a.flip(0+21);
    cout << bit_a << endl;
    cout << endl;
}
Вопрос: Скажите, правильно ли я понял задание и соответственно правильно ли я его решил?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.08.2013, 17:38     Задача по bitset
Посмотрите здесь:

Bitset<0> - C++
Не на англоязычных просторах ни на наших не нашел, что же означает определение как: bitset&lt;0&gt; Моё предположение, это очищенный...

Bitset to int - C++
Здравствуйте! вот пробую: bitset &lt;8&gt; id_paketa = 00000010; cout &lt;&lt; id_paketa &lt;&lt; &quot; &quot; &lt;&lt; id_paketa.to_ullong(); Почему получается...

внести char* в bitset - C++
Всем привет! Хотел бы попросить у вас эффективный способ каким образом можно внести массив символов переменной длины (char buf)...

Запись bitset в bmp - C++
Всем доброго времени суток, такая проблемка, не могу записать bitset в bmp вроде нашел пример и структуру файла, но рук не хватает ещё)). ...

Сравнение байтов в bitset - C++
Помогите написать функцию, которая сравнивает байты (а точнее первые 3 бита в каждом байте bitset&lt;32&gt;) Просто кроме, как кейсом, ничего в...

Множество элементов типа bitset - C++
Хочу создать множество, элементы которого будут иметь тип bitset. Подключаю #include &lt;set&gt; и #include &lt;bitset&gt; Пишу например так ...

Почему не получается использовать bitset в VC++? - C++
Никак не получается использовать bitset в VC++6 . Очень надо - двоичный вектор . В стандарте описан bitset , но работать отказывается ....

Bitset<8388608> - Stack overflow - C++
Пишу: bitset&lt;8388608&gt; hash; // (256^2)/2 Ошибка: Stakc overflow (ОЗУ&gt;3 Гб, но как я понял приложение не может пользоваться больше...

Динамический bitset, возможно ли такое? - C++
как известно size в bitset&lt;size&gt; должно быть статической, как реализовать класс с полем bitset&lt;size&gt; в конструктор\параметр которого...

Аналог класса bitset (Стандарт C++11) - C++
Нужно создать аналог класса Bitset (стандарт C++11) Самому удалось раскопать следующее: //default (1) constexpr bitset()...

Сложение двоичных чисел, представленных в bitset - C++
Здравствуйте! Мне необходимо узнать, как можно реализовать сложение двоичных чисел, представленных в виде bitset (хотя бы инкремент)....

Vector и его push_back для bitset - C++
Всем привет! Ломаю голову почему простая с виду конструкция не хочет работать: std::vector&lt;std::bitset&lt;8&gt; &gt; vecRecBuf; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
19.08.2013, 17:41     Задача по bitset #2
Аццкий Прогер, судя по всему, вы выбрали альтернативный вариант. Для решения основного задания надо воспользоваться конструктором std::bitset, который принимает либо строку, либо целочисленное значение.
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
19.08.2013, 18:07     Задача по bitset #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <bitset>
#include <string>
#include <iostream>
#include <sstream>
 
int main ( ) {
    std::string str ;
    std::getline ( std::cin , str ) ;
    std::stringstream ss ( str ) ;
    char32_t mask = 0 ;
    unsigned int num ;
    while ( ss >> num ){
        mask |= ( 1 << num ) ;
    }
    std::bitset < 32 > bs ( mask ) ;
    std::cout << bs << std::endl ;
}
http://ideone.com/NDp9O0
Yandex
Объявления
19.08.2013, 18:07     Задача по bitset
Ответ Создать тему
Опции темы

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