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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 124, средняя оценка - 4.97
Devil_Hell
13 / 13 / 1
Регистрация: 23.09.2008
Сообщений: 33
01.10.2008, 00:36     Класс Вектор #1
Нужна помощь в написании программы.
Класс "Вектор". (Чем он отличается от массива? в том что мне дали про вектора ни слова. Помогите разобраться.)
Методы:
Скалярное умножение векторов.
Вычисление длины вектора.
Умножение вектора на константу.
Отображение всех компонент вектора на экране.
Если можно то с комментариями. Что бы использовать как образец для дальнеёшего написания программ.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2008, 00:36     Класс Вектор
Посмотрите здесь:

Класс вектор C++
Вектор класс C++
Класс Вектор C++
C++ Класс-вектор в С++
C++ Класс вектор
C++ Класс вектор С++
C++ класс Вектор
C++ Класс вектор
C++ Класс "вектор" с конструкторами, позволяющими создать нулевой вектор и вектор с произвольным числом элементов
Класс Вектор C++
Класс Вектор C++
Класс вектор C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Spo1ler
 Аватар для Spo1ler
291 / 51 / 3
Регистрация: 22.05.2008
Сообщений: 788
01.10.2008, 15:31     Класс Вектор #2
ну нифига себе у вас желания, сами пищите, хелп можно найти в референс мануале
Lord_Voodoo
Супер-модератор
 Аватар для Lord_Voodoo
8506 / 2173 / 61
Регистрация: 07.03.2007
Сообщений: 10,844
Завершенные тесты: 1
01.10.2008, 15:47     Класс Вектор #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
102
#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;
}
//---------------------------------------------------------------------------
qwone
8 / 8 / 1
Регистрация: 18.08.2008
Сообщений: 129
01.10.2008, 18:27     Класс Вектор #4
Класс "Вектор". (Чем он отличается от массива? в том что мне дали про вектора ни слова. Помогите разобраться.)
Класс ... но лучше говорить Объект. Класс это просто описание ,по которому создается Объект . Причем легко как объявить переменную int . И складывается тоже так же . Объявил одну переменную , вторую , третью и третьей присвоил сумму первой и второй.
Но это когда класс написан . Начни с того какой тебе вектор нужен .
V=a*i+b*j или V=a*i+b*j+c*k . А может численный ( с мнимой компонентой ,когда j это корень из "-1" , как у тебя с математикой ?)
XuTPbIu_MuHTAu
Эксперт C++
 Аватар для XuTPbIu_MuHTAu
2219 / 734 / 10
Регистрация: 27.05.2008
Сообщений: 1,507
01.10.2008, 19:00     Класс Вектор #5
Цитата Сообщение от qwone Посмотреть сообщение
Класс ... но лучше говорить Объект.
Да нет.
vector - шаблон класса
vector<int> - класс
vector <int> a; - объект класса vector<int>

И,когда говорят о методах,говорят о методах класса.
Devil_Hell
13 / 13 / 1
Регистрация: 23.09.2008
Сообщений: 33
04.10.2008, 23:20  [ТС]     Класс Вектор #6
Всем спасибо за помощь. Буду разбираться дальше.
Yandex
Объявления
04.10.2008, 23:20     Класс Вектор
Ответ Создать тему
Опции темы

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