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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.89
Flintik
Сообщений: n/a
#1

битовый массив - C++

04.11.2012, 22:33. Просмотров 2514. Ответов 0
Метки нет (Все метки)

Здравствуйте, дорогие форумчане!!
Помогите пожалуйста разобраться с заданием( понятного к сожалению не много!)

В этом задании необходимо реализовать все методы класса CBitArray(для них описание пропущено) и нужно чтобы добиться работала функция main (ее код менять нельзя).


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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <iostream>
#include <cstring>
 
using namespace std;
 
class CBitArray {
private:
    int *array;
    int sizeInBits;
    int sizeInCells;
public:
    CBitArray( const int size = 32 ) {
        sizeInBits = size > 0 ? size : 1;
        sizeInCells = ( sizeInBits >> 5 ) + 1;
        array = new int[ sizeInCells ];
        setToZero();
    };
    int getSizeInBits() {
        return sizeInBits;
    };
    void setToZero( void ) {
        std::memset( array, 0, sizeof( array[ 0 ] ) * sizeInCells );
    };
    CBitArray( const CBitArray &other ) {
        // ToDo: реализовать конструктор копирования
    };
    const CBitArray& operator = ( const CBitArray &other ) {
        // ToDo: реализовать оператор присваивания
    };
    void setBitToZero( const int index ) {
        // ToDo: реализовать процедуру установки значения бита, заданного по индексу, в 0.
    };
    void setBitToOne( const int index ) {
        // ToDo: реализовать процедуру установки значения бита, заданного по индексу, в 1.
    };
    int getBitValue( const int index ) {
        // ToDo: реализовать функцию, возвращающую значение бита, заданного по индексу.
    };
    void random( void ) {
        // ToDo: процедура заполнения битового массива произвольными последовательностями
        // нулевых и единичных битов.
    };
    friend ostream& operator << ( ostream& out, CBitArray &array ) {
        // ToDo: Реализовать процедуру вывода битового массива в поток: 
        // все нулевые биты должны отображаться цифрой 0,
        // все единичные биты - цифрой 1.
    };
    ~CBitArray() {
        delete [] array;
    };
};
 
int main( void ) {
    vector< CBitArray > arrayOfArrays;
    arrayOfArrays.push_back( CBitArray( 10 ) );
    arrayOfArrays.push_back( CBitArray( 20 ) );
    arrayOfArrays.push_back( CBitArray( 30 ) );
    while( !arrayOfArrays.empty() ) {
        CBitArray array = arrayOfArrays.back();
        array.random();
        cout << "Extracted array (size: " << array.getSizeInBits() << ") - " << array << endl;
        arrayOfArrays.pop_back();
    }
    system( "PAUSE" );
    return 0;
}
Помогите с кодом на С++ и если можно, то помогите и с пояснениями.

Заранее огромное спасибо!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2012, 22:33     битовый массив
Посмотрите здесь:

Битовый массив (значения принимаются битами, а адресация по номеру бита) - C++
Реализовать только на языке C. Битовый массив (значения принимаются битами, а адресация по номеру бита.)

Отсортировать большое число элементов за минимальное время, используя битовый массив - C++
Всем привет! Вот, получил задание такое: написать сортировку большого числа элементов за минимальное время, используя битовый массив....

Битовый сдвиг в if() - C++
Обясните как работает такой код:void swap(int &amp;a, int &amp;b) { int temp = a; a = b; b = temp; } void...

Битовый уровень - C++
Сейчас в университете гоняют по задача для выполнения битовых операции и структурных операторов на битовом уровне, но я не сильно понимаю....

Битовый сдвиг - C++
Вот в чем вопрос: int x = 2; int y; y = (x &gt;&gt; 32); cout &lt;&lt; x &lt;&lt; &quot; &quot; &lt;&lt; y; Должен быть выход 2 0, а на экран...

Битовый сдвиг массива - C++
Помогите разобраться с сдвигом влево (выравниванием до начала байта) данных. Задача заключается в том что есть некий массив, в котором...

Строка -> Битовый вектор - C++
Вновь обращаюсь за помощью. Реализовал на C++ алгоритм блочного шифрования (SDES), использующий на входе битовые векторы длиной 8 бит. Так...

Нужна подсказка про битовый ИЛИ - C++
Подскажите пожалуйста, что значит строчка &quot;min|=min;&quot;, конкретно интересует оператор |=? Заранее благодарю за ответ!

Битовый сдвиг вправо для дробных чисел - C++
(Как мне уже известно) битовый сдвиг вправо на одну &quot;ячейку&quot; аналогичен делению на 2. Например 1/2^3 или 1&gt;&gt;3. Число получается не целым,...

8-битовый тип signed char может представлять значения от -128 до 127 - C++
8-битовый тип signed char может представлять значения от -128 до 127 Кто может растолковать как это понимать, от 128 до 127 -...

собственный битовый массив - C#
Народ! У меня задание на курсач реализовать свой класс битовых массивов. Подскажите, что можно нормального в него еще впихнуть(я уже...

Число разложить на битовый массив - C#
Граждане, прошу прощения за позорище, но никогда ранее не трогал побитовые операции. Вопрос таков: Мне приходит от устройства число...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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