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

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

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

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

19.08.2013, 17:38. Просмотров 538. Ответов 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 в VC++? C++
C++ Сложение двоичных чисел, представленных в bitset
Динамический bitset, возможно ли такое? C++
C++ Сравнение байтов в bitset
C++ Как обратиться к объекту bitset так, чтобы результатом была битовая маска
C++ Bitset to int
C++ Множество элементов типа bitset
Запись bitset в bmp C++
C++ Аналог класса bitset (Стандарт C++11)
C++ Разобраться почему не компилируется код (использование std::bitset)
C++ внести char* в bitset

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт C++
4932 / 2512 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
19.08.2013, 17:41     Задача по bitset #2
Аццкий Прогер, судя по всему, вы выбрали альтернативный вариант. Для решения основного задания надо воспользоваться конструктором std::bitset, который принимает либо строку, либо целочисленное значение.
Croessmah
Модератор
Эксперт CЭксперт С++
12724 / 7184 / 801
Регистрация: 27.09.2012
Сообщений: 17,716
Записей в блоге: 2
Завершенные тесты: 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
Ответ Создать тему
Опции темы

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