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

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

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

Геометрический вектор - C++

28.05.2011, 17:46. Просмотров 736. Ответов 5
Метки нет (Все метки)

Как можно реализовать методы для того, что бы подсчитать длину вектора, суму векторов, разницу и скалярное воспроизведение.

Вот часть программами, которую удалось мне написать:
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
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <cmath>
 
using namespace std;
class vector{
      public:
              double x1, y1, z1,x2,y2,z2;
      public :
             void Entervect(){
                              cout<<"Введите координаты первого вектора : "<<endl;
                                 cout<<"Enter x1 : ";
                                 cin>>x1;                              
                                 cout<<"Enter y1 : ";
                                 cin>>y1;
                                 cout<<"Enter z1 : ";
                                 cin>>z1;
                              cout<<"Введите координаты второго вектора : "<<endl;
                                 cout<<"Enter x2 : ";
                                 cin>>x2;                              
                                 cout<<"Enter y2 : ";
                                 cin>>y2;
                                 cout<<"Enter z2 : ";
                                 cin>>z2;
                              
                              };
             
                              
             void Printvect(){
                              cout<<" Первый вектор "<<"( "<<x1<<" : "<<y1<<" : "<<z1<<" )"<<endl;
                              cout<<" Второй вектор "<<"( "<<x2<<" : "<<y2<<" : "<<z2<<" )"<<endl;
                             };
                             
             /*double coutdov(){
                      double static d;
                      d = sqrt((x1-x2)(x1-x2)+(y1-y2)(y1-y2)+(z1-z2)(z1-z2));
                      return d;
                             };*/
             //double count-(){
                     
                             //}
            // double count+(){
                      
                             //}
             
};
 
int main(){
    do{
    setlocale(LC_ALL,"Rus");
    vector v;
    v.Entervect();
    v.Printvect();
    
    //v.coutdov(double x1,x2,y1,y2,z1,z2);
    //v.Printvect();
    //v.countdov();
    //cout<<"Длинна вектора : "<<d;
    //v.count-();
    //v.count+();
    
} while (getch()!=27);
    system("pause"); 
    return 0;    
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2011, 17:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Геометрический вектор (C++):

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

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

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

Построение плоскости по отрезкам [GLSL, геометрический шейдер] - C++
В геометрический шейдер прилетает отрезок с координатами точек X1 и X2, у каждой точки есть свой вектор нормали N1 и N2 (они лежат в одной...

Создать иерархию классов вектор и безопасный вектор с проверкой выхода за пределы - C++
Создать иерархию классов вектор и безопасный вектор с проверкой выхода за пределы. Безопасный вектор определяет переменные нижний и верхний...

Есть квадратная матрица А порядка n и вектор b с n элементами. Получить вектор Аb. - C++
Привет. Не могу разобратся, вот задание: Есть квадратная матрица А порядка n и вектор b с n элементами. Получить вектор Аb.

5
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
28.05.2011, 17:55 #2
Цитата Сообщение от Batarchuk Посмотреть сообщение
подсчитать длину вектора
квадратный корень из суммы квадратов координат, это же просто?

Цитата Сообщение от Batarchuk Посмотреть сообщение
суму векторов, разницу и скалярное воспроизведение
определить операторы + - и *

Добавлено через 3 минуты
Цитата Сообщение от Batarchuk Посмотреть сообщение
double x1, y1, z1,x2,y2,z2;
хаха у тебя чё два вектора в одном объекте хранятся? выкинь сразу на помойку его. Фиксированное количество координат тоже не обрадует твоего препода.
Цитата Сообщение от Batarchuk Посмотреть сообщение
void Entervect()
а вместо этого метода лучше перегрузить оператор ввода в поток
1
Batarchuk
0 / 0 / 0
Регистрация: 27.03.2011
Сообщений: 28
28.05.2011, 18:00  [ТС] #3
Вот по поводу перегрузок хотелось бы узнать больше, как это можно сделать?

Добавлено через 2 минуты
Как раз трёх-координатный и надо..)
0
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
28.05.2011, 18:02 #4
C++
1
2
3
4
5
friend istream& operator>>(istream& strm, vector& target)
{
    //здесь нужно разместить примерно тоже самое что и в entervect, только cin заменить на strm желательно
    return strm;
}
точнее перегрузки тут никакой нет. Просто определил оператор*

Добавлено через 1 минуту
класс надо называть по сути. У тебя не vector, а two_vectors_with_three_coordinates сейчас
0
Batarchuk
0 / 0 / 0
Регистрация: 27.03.2011
Сообщений: 28
28.05.2011, 18:11  [ТС] #5
Нужно ли два класса для двух векторов? Или один, где описать вектор?
0
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
28.05.2011, 18:20 #6
нужен один класс, который содержит свои координаты, определить
vector operator+(const vector& another)
vector operator-(const vector& another)
double operator*(const vector& another) скалярное произведение
вот что подразумевается в задании. Конструктор копирования и деструктор не нужны в твоём случае

соответсвенно в теле программы ты создашь два объекта типа вектор и будешь их складывать умножать и тд и тп...

Добавлено через 3 минуты
конечно лучше координаты хранить в приватном vector<double>, а в операциях сложения делать проверку, чтобы векторы имели одинаковую размерность. ЧНельзя же сложить векторы разной размерности?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2011, 18:20
Привет! Вот еще темы с ответами:

матрица на вектор, вроде правильно, а вектор на матрицу? посмотрите пожалуйста? - C++
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int main() { ...

Почему матрица на вектор умножается быстрее чем вектор на матрицу? - C++
Почему матрица на вектор умножается быстрее чем вектор на матрицу?

Создать иерархию классов вектор(longint) и безопасный вектор с проверкой выхода за пределы - C++
Помогите не знаю как сделать! Создать иерархию классов вектор(longint) и безопасный вектор с проверкой выхода за пределы. Безопасный...

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


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

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

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