Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ MinGW + Graphics.h It's work) http://www.cyberforum.ru/cpp-beginners/thread688668.html
В процессе изучения языка С++ часто сталкивался в проблемой рисования через консоль, на разных форумах находил тот же самый вопрос, но ни одного ответа, максимум порекомендуют поставить 100летний...
C++ Подскажите, как сделать проверку #include "stdafx.h" #include <iomanip> #include <iostream> #include <fstream> #include <stdlib.h> #include <conio.h> #include <windows.h> #include <locale.h> using namespace std; int... http://www.cyberforum.ru/cpp-beginners/thread688667.html
C++ Поиск максимума в массиве
#include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; class first_arr{ int i; public: first_arr(int j){i=j;} int get_i(){return i;} };
C++ Работа с бинарными файлами. Определение четности
Создать бинарный файл f и записать в него целые числа. Организовать просмотр бинарного файла и его обработку: Найти все четные числа и их количество. Есть код: #include <stdio.h> #include...
C++ Ошибка во время выполнения программы. http://www.cyberforum.ru/cpp-beginners/thread688654.html
Здравствуйте, помогите, пожалуйста, разобраться. Пытаюсь сдать задачу, из 27 тестов в трех - ошибка во время выполнения программы. Условие: Как и у каждого мальчика, у Феди есть игрушечные...
C++ Создать массив в Microsoft Visual C++ 6.0 Здравствуйте, помогите, пожалуйста, решить задачи по визуальному программированию на Microsoft Visual C++ 6.0 :help: Создать Массив состоящий из 20 случайных целых чисел, вывести элементы массива... подробнее

Показать сообщение отдельно
Flintik
0 / 0 / 0
Регистрация: 01.11.2012
Сообщений: 2

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

04.11.2012, 22:33. Просмотров 2787. Ответов 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;
}
Помогите с кодом на С++ и если можно, то помогите и с пояснениями.

Заранее огромное спасибо!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru