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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
EvilHero
0 / 0 / 0
Регистрация: 04.12.2010
Сообщений: 29
#1

Сложение векторов в структуре - C++

18.02.2011, 15:35. Просмотров 1509. Ответов 2
Метки нет (Все метки)

Надо сложить 2 вектора использую функции структуры. Пока дошел до этого варианта:
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
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <string>
using namespace std;
float x,y,z,xi,yi,zi,zj,xj,yj;
struct vector 
{
    vector (float px=0, float py=0,float pz=0)
    {
    x=xj=px;
    y=yj=py;
    z=zj=pz;
    }
 
    float length(void)
    {
        return sqrt (x*x+y*y+z*z);
    }
        vector add(vector vec1, vector vec2)
    {
        int px = vec1.x + vec2.xj;
        int py = vec1.y + vec2.yj;
        int pz = vec1.z + vec2.zj;
        vector vec3(px,py,pz);
        return vec3;
    }
 
};
int main()
{
    setlocale(LC_ALL,"Russian");
    
    cout<<"Введите координато выектора (через пробел) а=";
    cin>>x>>y>>z;
    cout<<"Введите координато выектора (через пробел) б=";
    cin>>xj>>yj>>zj;
    vector v(x,y,z);
    vector vec1(xj,yj,zj);
    vector vec2(x,y,z);
    float l=v.length();
    cout<<"Длина вектора а="<<l<<endl;
    cout<<"Сумма векторов а+б="<<vector.add<<endl;
    cin.get();
    cin.get();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2011, 15:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сложение векторов в структуре (C++):

Сложение векторов - C++
Не понимаю почему методом insert не хочет принимать такие параметры. Даже если пытают переменной типа int присвоить vec, выдает ошибку (int...

Сложение векторов - C++
Здрасти. #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;cmath&gt; class vector3D{ public: vector3D(int inita=0,...

Сложение векторов строк - C++
Имеются два вектора строк std::vector &lt;std::string&gt; *str1; std::vector &lt;std::string&gt; *str2; Как их сложить чтоб в итоге...

CUDA C/C++ сложение векторов - C++
вроде все так делаю, но не запускается не могу понять ошибку делаю с шаблона там просто надо заполнить недастоющие строчки вот шаблон ...

Сложение векторов в результирующий - C++
кто может решите пожалуйста одну задачку: Даны матрица порядка n, а также векторы X и Y с элемнтами каждый. Найти вектор C=A*(X+Y)

Сложение векторов (MPI) - C++
Суть такая. Есть массив a и b c. Корды первого вектора это a a т.е. x1 y1 Корды второго вектора b b т.е. x2 y2 Нужно что бы в c...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Топорик
7 / 7 / 1
Регистрация: 15.02.2011
Сообщений: 19
18.02.2011, 19:12 #2
поправил
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
//
#include "StdAfx.h"
#include<iostream>
#include<math.h>
using namespace std;
 
struct vector 
 
{ 
    float x,y,z;
    vector (float X, float Y,float Z)
    {
    x=X;
    y=Y;
    z=Z;
    };
    
 
    float length(void)
    {
        return sqrt (x*x+y*y+z*z);
    };
 
   
 
};
   void   fadd (vector vec1, vector vec2,vector SUM)
    {
       SUM.x=vec1.x+vec2.x;
        SUM.y=vec1.y+vec2.y;
        SUM.z=vec1.z+vec2.z;
        cout<<"Сумма векторов а+б="<<SUM.x<<" "<<SUM.y<<" "<<SUM.z<<"\n";
    };
 
void main(void)
{
    setlocale(LC_ALL,"Russian");
   float x1,x2,y1,y2,z1,z2; 
    cout<<"Введите координато выектора (через пробел) а=";
    cin>>x1>>y1>>z1;
    cout<<"Введите координато выектора (через пробел) б=";
    cin>>x2>>y2>>z2;
    vector v(x1,y1,z1);
    vector vec1(x1,y1,z1);
    vector vec2(x2,y2,z2);
    vector SUM(0,0,0);
    float l=v.length();
    cout<<"Длина вектора а="<<l<<endl;
    fadd(vec1,vec2,SUM);
    
    system("PAUSE");
 
    
}
EvilHero
0 / 0 / 0
Регистрация: 04.12.2010
Сообщений: 29
19.02.2011, 01:22  [ТС] #3
Огромное спасибо !!!

но нужно описать функцию внутри структуры на подобии функции
C++
1
2
3
4
    float length(void)
    {
        return sqrt (x*x+y*y+z*z);
    };
и вызываться в main'е так же...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2011, 01:22
Привет! Вот еще темы с ответами:

Последовательное и параллельное сложение векторов - C++
Помогите,пожалуйста, написать программу для последовательного и параллельного сложение векторов.

Реализовать сложение векторов посредством transform - C++
Товарищи, читаю Прату, дошел до STL (это ппц), есть задача реализовать вот этот кусок vad3 = 10.0* ((vad1 + vad2) / 2.0 + vad1 *...

Сложение элементов двух векторов с записью в третий - C++
Есть код функции (не дописанная), которая получает в качестве аргументов 2 вектора произвольных типов: template&lt;class T&gt; T&amp;...

Сложение двух векторов и запись результата в третий вектор - C++
Программа заполняет 2 вектора типа float значениями. После чего вектора складываются и результат сложения записывается в третий вектор. Вот...


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

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

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