Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
41 / 41 / 1
Регистрация: 21.11.2010
Сообщений: 96
1

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

26.06.2011, 17:06. Показов 3583. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Начало есть; нужно выполнить сложение векторов и сдвиг
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
//Создайте класс bVect для выполнения действий с двоичными векторами.
//Длина вектора должна быть задана в конструкторе.
 
#include "stdafx.h"
#include <iostream> 
#include <stdio.h> 
#include <conio.h> 
 
using namespace std; 
 
class bVect //объявляем класс,двоичный вектор bVect - имя 
{//закрытая часть класса, к местным штукам могут обращаться только функции-элементы класса 
//или дружественные 
int len; //длинна вектора 
int *vect; //указатель на начало 
 
public: //открытая часть класса, т.е. к объектам описанным тут могут обращаться любые функции 
    bVect()//конструктор - функция которая запускается при создании объекта 
{ 
    cout<< "input lenght"<<endl; 
    cin>>len; vect=new int [len];//вводим длинну вектора, и выделяем //память под неё, vect ссылается на начало вектора 
} 
 
~bVect() //деструктор - функция вызываемая при удалении объекта 
{ 
    delete []vect;//удаляем вектор(освобождаем память) 
} 
 
void input() //функция ввода значений вектора 
{ 
    for(int i=0;i<len;i++) 
    { 
        cin>>vect[i]; 
        if((vect[i]<0)||(vect[i]>3)) 
        { 
            cout<<"error"<<endl; 
            exit(1); 
        } 
    } 
} 
 
void output () //функция вывода значений вектора 
{ 
    for(int i=0;i<len;i++) 
    { 
        cout<<vect[i]<<endl; 
    } 
 
} 
};//конец описания класса 
 
void main (void) 
{ 
    bVect ob;//создание объекта, ну переменная только моего типа данных включает в себя длинну и 
    //сам вектор, прям как структура 
 
        ob.input();//вызов функции ввода 
        ob.output();//вызов функции вывода 
        getch();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.06.2011, 17:06
Ответы с готовыми решениями:

Написать программу, которая демонстрирует выполнение операций с 12-разрядными двоичными числами
У меня такое задание: Написать программу, которая демонстрирует выполнение операций с ...

Выполнение арифметические действи над двоичными, восьмеричными или шестнадцатеричными числами (по блок-схеме)
Написать программу, позволяющую выполнять арифметические действия над двоичными, восьмеричными или...

Выполнение действий с возможностью действия
Извиняюсь за теоретический вопрос, но все же попробую обратиться к вашим экстрасенсорным...

Выполнение действий через некоторое время
хочу сделать так чтобы на экран выводились всякие символы через некторое время. ну например:...

4
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
26.06.2011, 17:48 2
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();
}
1
41 / 41 / 1
Регистрация: 21.11.2010
Сообщений: 96
27.06.2011, 10:57  [ТС] 3
Помоему, тут только сдвиг. А как же с сложением?
0
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
27.06.2011, 13:50 4
Цитата Сообщение от Temoffey Посмотреть сообщение
Помоему, тут только сдвиг. А как же с сложением?
слепой? см.
Цитата Сообщение от Maxwe11 Посмотреть сообщение
bVect operator + (const bVect & other) const
Добавлено через 4 минуты
в main-не не делал пример сложения
1
0 / 0 / 0
Регистрация: 23.12.2015
Сообщений: 9
31.05.2016, 21:45 5
Не тестировал потому что не работает :/
0
31.05.2016, 21:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.05.2016, 21:45
Помогаю со студенческими работами здесь

Выполнение действий через заданный промежуток времени
Нужен самый простой пример програмки на си++ (работаю в вижуал студио), которая будет каждый равный...

Одновременное выполнение действий без использования потоков/процессов
Нужно ожидать ввода команды со стандартного потока и в то же время в начале каждого часа вызывать...

Чтение двумерного массива и выполнение над ним действий
Здравствуйте форумчане, вот столкнулся с проблемкой....есть текстовый документ в нем написан...

Реализовать выполнение заданных действий над одномерным массивом.
&quot;Реализовать выполнение заданных действий над одномерным массивом. Число элементов массива задаётся...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru