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

Реализовать класс - "Троичный вектор" - C++

Войти
Регистрация
Восстановить пароль
 
kir94
1 / 1 / 0
Регистрация: 21.12.2013
Сообщений: 93
21.12.2013, 23:13     Реализовать класс - "Троичный вектор" #1
Здравствуйте форумчане!
Вот задали задачу: Реализовать класс «Троичный вектор» – Tvector размерности
n. Компоненты вектора принимают значения из множества {0,1, X}. Два троичных вектора tk = (t1^k,...,tn^k) и (t1^l,...,tn^l) называются ортогональными, если существует такое i, что ti^k, ti^l ∈ {0,1} ti^k ≠ ti^l. Операция пересечения не ортогональных векторов выполняется покомпонентно по следующим правилам: 1⋂1=1⋂X=X⋂1=1, 0⋂0=0⋂X=X⋂0=0, X⋂X=X. Реализовать методы для проверки векторов на ортогональность, для пересечения не ортогональных векторов, сравнения векторов, подсчета числа компонент, равных Х. Осуществить те же действия над векторами с помощью перегруженных операций. Перегрузить операцию присваивания для данного класса. Выполнить тестирование класса, создав массив объектов. Вот что-то сделал, но не выдает ошибку, помогите пожалуйста исправить.
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
#include <iostream>
#include <time.h>
#define MUL(a,b) a?(b?(a==1?1:b):0):0
using namespace std;
 
class vector {
      int sz;           //размер
      double* elem;     //указатель на элементы
public:
       vector(int s):
                  sz(s), elem(new double[s]) {/**/}     //конструктор
       ~vector() { delete[] elem; }                     //деструктор
       int size() const { return sz; }                  //текущий размер
       
       double get(int n) const { return elem[n]; }      //доступ: чтение
       double set(int n, double v) { elem[n] = v; }     //доступ: запись
       vector operator*(vector &B){
            for(int i=0;i<this->sz && i<B.sz;i++){
            this->elem[i]=MUL( (this->elem[i]) , (B.elem[i]) );
 }
 return *this;
}
};
 
int main() {
    vector v(5);
    srand(time(NULL));
    for(int i = 0; i < v.size(); ++i) {
            v.set(i, rand()%3);
            cout << "v[" << i << "]==" << v.get(i) << endl;
    }
 
system("pause");
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2013, 23:13     Реализовать класс - "Троичный вектор"
Посмотрите здесь:

C++ Создать производный класс ТРОИЧНЫЙ ВЕКТОР от класса Vector
C++ Написать класс "вектор на плоскости" заданный в системе декартовых координат
C++ Класс "Трехмерный вектор"
Реализовать класс - "Троичный вектор" C++
C++ Реализовать упрощенный контейнер "вектор"
C++ Опишите класс "Вектор"
C++ Как написать класс "вектор" на С++
Нужно разработать класс "вектор" и реализовать операцию векторного умножения векторов C++
C++ Разработать класс "вектор" и реализовать операцию векторного умножения векторов
C++ Класс "Вектор", меню для демонстрации его возможностей
C++ Разработать класс "Вектор" и реализовать операцию векторного умножения векторов
Создать класс "Вектор в двумерном евклидовом пространстве" C++

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

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

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