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

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

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

Класс векторов на Dev-C++ - C++

23.11.2012, 12:13. Просмотров 758. Ответов 5
Метки нет (Все метки)

Здравствуйте! Я учусь в университете, мы изучаем среду программирования Dev-C++
Ну и препод дал задание написать класс для векторов в отдельном файле
Они у меня написаны но вот я не могу передать значение в класс через ссылку
Вот код:
Vector.h
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
#include <math.h>
class Vector
{
      public:
             double Lenght_Vector (int x, int y, int z)
             {
                 double L;
                 L=sqrt(pow(x,2)+pow(y,2)+pow(z,2));
                 return L;
             };
             int Sum_Vector (int x1, int y1, int z1, int x2, int y2, int z2, int **x3, int **y3, int **z3)
             {
                 x3=x1+x2;
                 y3=y1+y2;
                 z3=z1+z2;
                 return 0;
             };
             int Scalar_Vector (int x1, int y1, int z1, int x2, int y2, int z2)
             {
                 int S;
                 S=x1*x2+y1*y2+z1*z2;
                 return S;
             };
             int Smesh_Vector (int x1, int y1, int z1, int x2, int y2, int z2, int x3, int y3, int z3)
             {
                 int det;
                 det=(x1*y2*z3)+(y1*z2*x3)+(z1*x2*y3)-(z1*y2*x3)-(x1*z2*y3)-(y1*x2*z3);
                 return det;            
             };
             void Vector_Product (int &x1, int &y1, int &z1, int x2, int y2, int z2, int x3, int y3, int z3)
             {
                  x1=y2*z3-z2*y3;
                  y1=x2*z3-z2*x3;
                  z1=x2*y3-y2*x3;
             };
};
А вот файл .CPP
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
#include <fstream>
#include <iostream>
#include <conio.h>
#include "Vector.h"
using namespace std;
int main()
{
    Vector V;
    int xA,yA,zA;
    int xB,yB,zB;
    int xC,yC,zC;
    double LA,LB,LC;
    int SCAB,SCAC,SCBC;
    int SxAB,SyAB,SzAB;
    int SxAC,SyAC,SzAC;
    int SxBC,SyBC,SzBC;
    int VxAB,VyAB,VzAB;
    int VxAC,VyAC,VzAC;
    int VxBC,VyBC,VzBC;
    int D;
    ifstream fin ("input.txt");
    ofstream fout("output.txt");
    fin>>xA>>yA>>zA;
    fin>>xB>>yB>>zB;
    fin>>xC>>yC>>zC;
    //dlina vectorov
    LA=V.Lenght_Vector(xA,yA,zA);
    LB=V.Lenght_Vector(xB,yB,zB);
    LC=V.Lenght_Vector(xC,yC,zC);
    //Summa vectorov
    SxAB=0;
    SyAB=0;
    SzAB=0;
    V.Sum_Vector(xA,yA,zA,xB,yB,zB,&SxAB,&SyAB,&SzAB);    
/*   V.Sum_Vector(xA,yA,zA,xC,yC,zC,SxAC,SyAC,SzAC);
    V.Sum_Vector(xB,yB,zB,xC,yC,zC,SxBC,SyBC,SzBC); */
    //Scalarnoe proizvedenie vectorov
    SCAB=V.Scalar_Vector(xA,yA,zA,xB,yB,zB);
    SCAC=V.Scalar_Vector(xA,yA,zA,xC,yC,zC);
    SCBC=V.Scalar_Vector(xB,yB,zB,xC,yC,zC);
 /*   //Vectornoe proizvedenie
    V.Vector_Product(*VxAB,*VyAB,*VzAB,xA,yA,zA,xB,yB,zB);
    V.Vector_Product(*VxAC,*VyAC,*VzAC,xA,yA,zA,xC,yC,zC);
    V.Vector_Product(*VxBC,*VyBC,*VzBC,xB,yB,zB,xC,yC,zC);*/
    //Smashaniy dobutoc
    D=V.Smesh_Vector(xA,yA,zA,xB,yB,zB,xC,yC,zC);
    
    //Vivod v file
    fout<<"LA="<<LA<<"\n";
    fout<<"LB="<<LB<<"\n";
    fout<<"LC="<<LC<<"\n";
    fout<<"SxAB="<<SxAB<<"\n";
    fout<<"SyAB="<<SyAB<<"\n";
    fout<<"SzAB="<<SzAB<<"\n";
    fin.close();
    fout.close();
}
Менял что мог... я уже в ступоре. Прошу вашей помощи. Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2012, 12:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Класс векторов на Dev-C++ (C++):

Создать класс для обработки векторов разность векторов норму векторов - C++
Создать класс для обработки векторов разность векторов норму векторов

Создать класс векторов, реализующий сложения и вычитания векторов - C++
Помогите найти ошибку, так как неправильно выводятся массивы, то скорее всего не получается сформировать массив. А задание:создать класс...

Программирование на Dev-C++ 4.9.9.2 - Класс дробь - C++
Помогите разобраться, пожалуйста, с лабораторной:( Организовать класс дробь, содержащий конструктор, деструктор, функцию вывода дроби в...

Определить класс векторов размерности n - C++
Определить класс векторов размерности n. Создать конструкторы и деструктор.

Определить класс трехмерных векторов - C++
Такое задание по ООП. Нужно определить класс трехмерных векторов. Для вектора, заданного двумя координатами, конструктор должен определять...

Написать класс векторов на плоскости - C++
Опишите класс векторов на плоскости Vect. Задайте функцию вычисления угла наклона вектора к оси абсцисс. Задайте функцию вычисления...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
23.11.2012, 12:16 #2
BeLiX, у вас идея самого класса неверна.
В классе должны быть не только методы, но и данные.
BeLiX
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 35
23.11.2012, 12:26  [ТС] #3
Цитата Сообщение от I.M. Посмотреть сообщение
BeLiX, у вас идея самого класса неверна.
В классе должны быть не только методы, но и данные.
Тоесть нам надо добавить переменные например изначально заданые 0?
Возможно я что то неправильно понял... Так как мы только начали изучать классы
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
23.11.2012, 12:28 #4
BeLiX, вроде того. Значения по умолчанию пусть будут 0. Само собой, должна быть возможность выставлять нужные значения
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.11.2012, 13:05 #5
Цитата Сообщение от BeLiX Посмотреть сообщение
я не могу передать значение в класс через ссылку
Чтобы передавать через ссылку, метод должен принимать ссылку:
C++
1
2
3
4
int Sum_Vector (int &x1, int &y1, int &z1, int &x2, int &y2, int &z2, int &x3, int &y3, int &z3)
{}
...
V.Sum_Vector(xA, yA, zA, xB, yB, zB, SxAB, SyAB, SzAB);
Или (если по ссылке нужно передать только SxAB, SyAB, SzAB), то так:
C++
1
2
int Sum_Vector (int x1, int y1, int z1, int x2, int y2, int z2, int &x3, int &y3, int &z3)
{}
BeLiX
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 35
23.11.2012, 17:22  [ТС] #6
Большое спасибо... заработало...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2012, 17:22
Привет! Вот еще темы с ответами:

Описать класс n-мерных векторов - C++
Класс n-мерных векторов Базовый класс (координаты начала и конца вектора Совет: реализовать дополнительный класс NPoint, содержащий в...

Класс векторов. Как вывести значения? - C++
#pragma once class Vector { private: int vec1; float* mas; public: Vector(); ~Vector(); Vector (Vector &amp;src);

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

Подскажите как составить класс объектов-векторов - C++
Составить описание класса для объектов-векторов в трёхмерном пространстве. Обеспечить операции сложения и вычитания векторов с получением...


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

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

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