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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
#1

Класс вектор - C++

25.12.2008, 00:48. Просмотров 1910. Ответов 6
Метки нет (Все метки)

У меня есть задача:
Разработать пользовательский тип “ вектор в n-мерном пространстве”. Для разрабатываемого типа обязательно определить:
конструктор (или несколько, если необходимо)
набор методов “get” и “set” ;
операторы + и – для сложения и вычитания векторов с получением нового вектора (суммы или разности);
оператора * для вычисления скалярного произведения двух векторов;
оператор присваивания;
оператор сравнения ==;
оператор << для вывода в поток;

В общем, для какой-нибудь операции с вектором в многомерном пространстве (сложение, вычитание, произведение…) обязательно нужно знать номер координаты и значение.
Использование массива, не подойдёт, т.к. может быть какая-нибудь 100000 – я координата.

Как можно реализовать эту задачу?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2008, 00:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Класс вектор (C++):

Класс "вектор" с конструкторами, позволяющими создать нулевой вектор и вектор с произвольным числом элементов - C++
Привет! Задача следующая. Нужно реализовать класс &quot;вектор&quot; с конструкторами, которые позволяют создать нулевой вектор и вектор с...

Класс вектор - C++
Помогите сделать

Класс Вектор - C++
Нужна помощь в написании программы. Класс &quot;Вектор&quot;. (Чем он отличается от массива? в том что мне дали про вектора ни слова. Помогите...

Класс Вектор - C++
Решил написать свой класс вектор, приблизительно как в СТЛ. Сначала решил сделать каркас. Все функции без аллокатора и итератора. Сделал. И...

класс Вектор - C++
всем привет. Начинаю делать домашку :-) в классе вектор создаю метод: cVector.h class cVector { public: ...

Класс Вектор - C++
Здраствуйте! Может ли кто-нибудь помочь с объяснением проблемы , потому что я не знаю точно , что это берет. Это условие ....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
XuTPbIu_MuHTAu
Эксперт С++
2225 / 740 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
25.12.2008, 01:04 #2
qwert,vector,list из stl
0
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
25.12.2008, 01:16  [ТС] #3
Цитата Сообщение от XuTPbIu_MuHTAu Посмотреть сообщение
qwert,vector,list из stl
А что за vector,list? Я этого ещё не знаю.
Наверное, все эти функции нужно реализовать самому.
0
XuTPbIu_MuHTAu
Эксперт С++
2225 / 740 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
25.12.2008, 01:29 #4
Цитата Сообщение от qwert Посмотреть сообщение
А что за vector,list? Я этого ещё не знаю.
Наверное, все эти функции нужно реализовать самому.
Ну я точно не знаю,чем вам можно/нужно пользоваться. Это классы из стандартной библиотеки шаблонов.

http://www.cplusplus.com/reference/
0
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
25.12.2008, 01:39  [ТС] #5
У меня основной вопрос - как лучше реализовать. Я уже писал про использование в этой задаче массивов. Если создать массив типа Vector, то на это уйдёт много памяти и это нерационально. Можно ли как-нибудь по другому, чтобы иметь доступ к номеру координаты и её значению?
0
XuTPbIu_MuHTAu
Эксперт С++
2225 / 740 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
25.12.2008, 01:56 #6
qwert, ааа,т.е не держать в памяти массив,но знать каждое его значение?
Единственная возможность хранить данные не в памяти - хранить их на жестком диске,загружая в память когда нужно.
0
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
26.12.2008, 01:44  [ТС] #7
Цитата Сообщение от XuTPbIu_MuHTAu Посмотреть сообщение
qwert, ааа,т.е не держать в памяти массив,но знать каждое его значение?
Единственная возможность хранить данные не в памяти - хранить их на жестком диске,загружая в память когда нужно.
Верно. Например, если нужно сложить вектор a, у которого координаты (a1,a2,a3,...,an)
с вектором b с координатами (b1,b2,b3,..., bn), то a + b = (a1+b1, a2+b2,a3+b3,...,an+bn). Выглядит просто, но как это реализовать с использованием классов? Может создать структуру, вида координата.значение, но всё равно проблема как это использовать с большим количеством координат.

Добавлено через 39 минут 35 секунд
А если с использованием массива, то создав 2 массива класса vector с какой - нибудь размерностью, то как тогда, опять же с использованием классов, написать все эти функции суммы, разности и т.д.?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2008, 01:44
Привет! Вот еще темы с ответами:

Класс вектор - C++
Не могу разобраться с этим классом, прошу помощи и в объяснении(задание очень объёмное ещё), проблема с самим вектором тоже есть. ...

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

Класс-вектор в С++ - C++
Здраствуйте. Передо мной стоит задача реализовать произведение и сложение векторов. Информации, той, что я нашел, оказалось мало. Программу...

Класс Вектор - C++
Помогите пожалуйста горит индевидуалка... Создать класс векторов поддерживающий следующие операции: изменение размеров вектора,сложение...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.12.2008, 01:44
Ответ Создать тему
Опции темы

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