Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Eko20
0 / 0 / 2
Регистрация: 29.02.2012
Сообщений: 54
#1

Разработать класс Vector – геометрический вектор произвольной размерности - C++

25.10.2013, 21:50. Просмотров 1461. Ответов 5
Метки нет (Все метки)

Разработать класс Vector – геометрический вектор произвольной размерности (размерность задается в конструкторе вектора). Реализовать метод доступа к элементам вектора. Реализовать операции сложения, вычитания и скалярного произведения векторов, а также нахождение модуля вектора.
http://www.cyberforum.ru/cpp-beginners/thread1608029.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2013, 21:50
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Разработать класс Vector – геометрический вектор произвольной размерности (C++):

Создать класс Vector (вектор целых чисел)
Создать класс Vector (вектор целых чисел), переопределить для него операции:...

Перегрузка функции(Создать класс Vector – вектор.)
Создать класс Vector – вектор, используя динамическую память. ...

Создать производный класс ТРОИЧНЫЙ ВЕКТОР от класса Vector
Народ!!! Please help me! Задолбался уже!:wall: Вобщем такое задание: ...

Создать класс Vector – вектор, используя динамическую память
Создать класс Vector – вектор, используя динамическую память. Определить...

Создать класс вектор Vector (int *). Перегрузить операции:
Создать класс вектор Vector (int *). Перегрузить операции: 1) ++ как унарный...

5
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
25.10.2013, 23:13 #2
Разрабатывайте, реализовывайте. В чем проблема-то ?
0
__Александр__
8 / 11 / 11
Регистрация: 17.09.2012
Сообщений: 188
Записей в блоге: 2
26.10.2013, 10:25 #3
вот небольшая наработка; нужно дописать функцию для подсчета модуля
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
89
90
91
92
93
94
95
96
97
98
99
100
101
#include <vcl.h>
#include <conio.h>
#include <iostream.h>
#pragma hdrstop
#pragma argsused
class vect {
public:
   vect(int=0,int=0,int=0,int=0,int=0); //Конструктор
   vect operator+(const vect &) const;   //Сложение
   vect operator-(const vect &) const;//Вычитание
   vect operator*(const vect &); //Умножение вектора на вектор
   vect operator*(const int &); //Умножение скаляра на вектор
   void print() const;//Печать
   private:
   int a,b,c,d,e;
};
//Конструктор:
vect::vect(int a1,int b1,int c1,int d1,int e1)
{
   a = a1;
   b = b1;
   c = c1;
   d = d1;
   e = e1;
}
//Перегруженная операция сложения:
vect vect::operator+(const vect &operand2) const
{
   vect sum;
   sum.a = a + operand2.a;
   sum.b = b + operand2.b;
   sum.c = c + operand2.c;
   sum.d = d + operand2.d;
   sum.e = e + operand2.e;
   return sum;
}
//Перегруженная операция вычитания:
vect vect::operator-(const vect &operand2) const
{
   vect diff;
   diff.a = a - operand2.a;
   diff.b = b - operand2.b;
   diff.c = c - operand2.c;
   diff.d = d - operand2.d;
   diff.e = e - operand2.e;
   return diff;
}
//Перегруженная операция умножения:
vect vect::operator*(const vect &operand2)
{
   vect proizv;
   proizv.a = a * operand2.a;
   proizv.b = b * operand2.b;
   proizv.c = c * operand2.c;
   proizv.d = d * operand2.d;
   proizv.e = e * operand2.e;
   return proizv;
}
//Перегруженная операция умножения:
vect vect::operator*(const int &operand2)
{
   vect proizv;
   proizv.a = a * operand2;
   proizv.b = b * operand2;
   proizv.c = c * operand2;
   proizv.d = d * operand2;
   proizv.e = e * operand2;
   return proizv;
}
//Печать объекта в виде (a,b,c,d,e)
void vect::print() const
{
   cout<<'('<<a<<", "<<b<<", "<<c<<", "<<d<<", "<<e<<')';
}
int main(int argc, char* argv[])
{
   vect x(5,6,7,8,9),y(4,3,2,1,7);
   vect z;
   int scl = 8;
   cout<<"\n Vector 1:   ";
   x.print();
   cout<<"\n Vector 2:   ";
   y.print();
   z = x + y;
   cout<<"\n Slozhenie:   ";
   z.print();
   z = x - y;
   cout<<"\n Vichitanie:  ";
   z.print();
   z = x * y;
   cout<<"\n Vector*Vector:   ";
   z.print();
   z = x * scl;
   cout<<"\n Scalar1:   ";
   z.print();
   z = y * scl;
   cout<<"\n Scalar1:   ";
   z.print();
   getch();
   return 0;
}
1
Eko20
0 / 0 / 2
Регистрация: 29.02.2012
Сообщений: 54
05.12.2013, 06:26  [ТС] #4
Цитата Сообщение от __Александр__ Посмотреть сообщение
//Перегруженная операция сложения:
как понять перегруженная операция?
0
rescr1pt
34 / 35 / 6
Регистрация: 03.10.2011
Сообщений: 61
05.12.2013, 06:32 #5
Цитата Сообщение от Eko20 Посмотреть сообщение
как понять перегруженная операция?
один из способов реализации полиморфизма, заключающийся в возможности одновременного существования в одной области видимости нескольких различных вариантов применения оператора, имеющих одно и то же имя, но различающихся типами параметров, к которым они применяются.
http://ru.wikipedia.org/wiki/Перегрузка_операторов
http://habrahabr.ru/post/132014/
0
dzrkot
zzzZZZ...
523 / 354 / 94
Регистрация: 11.09.2013
Сообщений: 2,039
05.12.2013, 09:50 #6
Цитата Сообщение от __Александр__ Посмотреть сообщение
vect operator*(const int &); //Умножение скаляра на вектор
лучше как friend делать
0
05.12.2013, 09:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2013, 09:50
Привет! Вот еще темы с решениями:

Создать класс Vector – вектор, используя динамическую память
Может кто подскажет листинг этой программы???

Разработать класс, позволяющий оперировать с числами произвольной длины
Добрый день. есть вот такая задачка. как ее реализовать? Разработать класс,...

На основе класса Vector разработать класс Matrix
На основе класса Vector разработать класс Matrix (матрица, физически...

Разработать класс вектор
Если в задании требуется разработать класс, то он должен включать:...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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