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

Выполнение действий с двоичными векторами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ модули http://www.cyberforum.ru/cpp-beginners/thread326244.html
как разбить программу на модули?? вообще не понимаю помогите плиз
C++ Как сохранить массив в файл-архив? Сжал строку функцией compress2, сохраняю на винчестер, пытаюсь открыть архиватором - пишет ошибку А функция gzwrite хоть и работает, но не подходит - т.к. записывает сразу на винчестер, а нужно в переменную... Подскажите что можно сделать? http://www.cyberforum.ru/cpp-beginners/thread326241.html
Найти ошибку в вызове функции. C++
Подскажите, что не так, независимо от того, какую операцию выбираю: 1 или 2(байты в биты или биты в байты), выполняется одно и тоже (байты в биты). Где в коде ошибка подскажите 0_o, не могу найти и всё, но точно уверен, что ошибка, ни один компилятор не предоставляет нужный результат, пожалуйста, найдите баг в коде:) А вот собственно и сам код: #include <iostream> #include <locale.h>...
C++ while ( не пойму )
Сижу уже 1 час и мозги парю, задачу решил вот код : #include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; int _tmain(int argc, _TCHAR* argv) { setlocale(LC_ALL,"");
C++ написать ф-ю http://www.cyberforum.ru/cpp-beginners/thread326217.html
написать рекурсивную ф-ю,которая переписывает символы данного файла f в другой файл g в обратном порядке
C++ Стек и куча Вроде разобрался с этими зверями, хочется уточнить некоторые моменты на понимание: физически они в ОЗУ, сначала сегмент кода программы, потом стек,потом куча. Сначала выделены рядом, но куча потом может разростисьразмер стека и начальный размер кучи зависит от компилятора, и ограничен размером ОЗУстек один на всю программу, и куча тоже Так же? подробнее

Показать сообщение отдельно
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
26.06.2011, 17:48     Выполнение действий с двоичными векторами
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <iostream> 
 
class bVect {
    int len; 
    int* vect; 
public:  
    explicit bVect(int size = 0)
    { 
        len = size;
        vect=new int [len];
    } 
    
    ~bVect() 
    { 
        delete []vect;
    } 
 
    void input() 
    { 
        for(int i = 0; i < len; i++) 
        { 
            std::cin >> vect[i]; 
            if(vect[i] < 0 || vect[i] > 3) 
            { 
         std::cout << "error" << std::endl; 
                exit(1); 
            } 
         } 
     }
 
        friend std::ostream & operator << (std::ostream & out, const bVect & o)
        {
            for(int i = 0; i < o.len; i++) 
            { 
                out << o.vect[i] << ' '; 
            } 
            return out;
        }
 
        bVect operator + (const bVect & other) const
        {
            bVect ob(len + other.len);
            for(int i = 0; i < len; i++)
                ob.vect[i] = vect[i];
            for(int i = 0; i < other.len; i++)
                ob.vect[i + len] = vect[i];
            return ob;
        }
 
        bVect& operator <<= (int k)
        {
            for(int i = 0; i < k; i++)
            {
                int k = vect[0];
                for(int j = 1; j < len; j++)
                    vect[j-1] = vect[j];
                vect[len - 1] = k;
            }
            return *this;
        }
 
        bVect& operator >>= (int k)
        {
            for(int i = 0; i < k; i++)
            {
                int k = vect[len - 1];
                for(int j = len - 2; j >= 0; j--)
                    vect[j + 1] = vect[j];
                vect[0] = k;
            }
            return *this;
        }
};
 
int main()//void main (void) 
{
    int len;
    std::cout <<  "input lenght: "; 
    std::cin >> len; 
    bVect ob(len);
    ob.input();
    std::cout << ob << '\n';
    ob <<= 2; 
    std::cout << ob << '\n';
    ob >>= 2; 
    std::cout << ob << '\n';
    std::getchar();
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru