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

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

Восстановить пароль Регистрация
 
Аццкий Прогер
21 / 10 / 4
Регистрация: 07.01.2013
Сообщений: 220
19.08.2013, 17:38     Задача по bitset #1
Задача: Предположим, что существует последовательность 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 to int
C++ Множество элементов типа bitset
Запись bitset в bmp C++
C++ Аналог класса bitset (Стандарт C++11)

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

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

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