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

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

Войти
Регистрация
Восстановить пароль
 
Eko20
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 54
#1

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

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

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

Геометрический класс вектор - C++
Хочу реализовать функцию vector& vector::Addition(const vector& m)const для сложения векторов, (не хочу это сделать с помощью перегрузки),...

Перегрузка функции(Создать класс Vector – вектор.) - C++
Создать класс Vector – вектор, используя динамическую память. Определить операторы "+" – поэлементное сложения векторов, "-" –...

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

Создать класс вектор Vector (int *). Перегрузить операции: - C++
Создать класс вектор Vector (int *). Перегрузить операции: 1) ++ как унарный метод класса, возводящий элементы вектора в квадрат; 2) ...

Создать класс Vector – вектор, используя динамическую память - C++
Создать класс Vector – вектор, используя динамическую память. Определить операторы "+" – поэлементное сложения векторов, "-" – поэлементное...

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

5
Убежденный
Системный программист
Эксперт С++
15618 / 7127 / 1128
Регистрация: 02.05.2013
Сообщений: 11,567
Записей в блоге: 1
Завершенные тесты: 1
25.10.2013, 23:13 #2
Разрабатывайте, реализовывайте. В чем проблема-то ?
0
__Александр__
7 / 10 / 0
Регистрация: 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 / 0
Регистрация: 29.02.2012
Сообщений: 54
05.12.2013, 06:26  [ТС] #4
Цитата Сообщение от __Александр__ Посмотреть сообщение
//Перегруженная операция сложения:
как понять перегруженная операция?
0
rescr1pt
33 / 34 / 1
Регистрация: 03.10.2011
Сообщений: 61
05.12.2013, 06:32 #5
Цитата Сообщение от Eko20 Посмотреть сообщение
как понять перегруженная операция?
один из способов реализации полиморфизма, заключающийся в возможности одновременного существования в одной области видимости нескольких различных вариантов применения оператора, имеющих одно и то же имя, но различающихся типами параметров, к которым они применяются.
http://ru.wikipedia.org/wiki/Перегрузка_операторов
http://habrahabr.ru/post/132014/
0
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 2,004
05.12.2013, 09:50 #6
Цитата Сообщение от __Александр__ Посмотреть сообщение
vect operator*(const int &); //Умножение скаляра на вектор
лучше как friend делать
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2013, 09:50
Привет! Вот еще темы с ответами:

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

На основе класса Vector разработать класс Matrix - C++
На основе класса Vector разработать класс Matrix (матрица, физически представляющая собой вектор, состоящий из заданного числа векторов)....

Разработать класс вектор - C++
Если в задании требуется разработать класс, то он должен включать: - компоненты данные - методы: а) конструктор по умолчанию; б)...

Разработать класс, описывающий вектор на плоскости - C++
1. «Работа с классами. Объявление классов, наследование». На языке С++ разработать класс, описывающий вектор на плоскости. Реализовать...


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

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

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