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

Класс vector (поля: координаты, 2 конструктора, метод нахождения длины вектора и метод вывода координат на экран) - C++

Восстановить пароль Регистрация
 
TwN
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 6
29.05.2013, 13:30     Класс vector (поля: координаты, 2 конструктора, метод нахождения длины вектора и метод вывода координат на экран) #1
Здравствуйте , помогите пожалуйста с заданием.
Организовать класс Вектор на плоскости – поля: координаты, 2 конструктора, метод нахождения длины вектора и метод вывода координат на экран. Создать производный класс Вектор в трехмерном пространстве, добавив третью координату и переопределив методы базового класса.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2013, 13:30     Класс vector (поля: координаты, 2 конструктора, метод нахождения длины вектора и метод вывода координат на экран)
Посмотрите здесь:

Рекурсивный метод для вывода на экран последовательности C++
Определите класс формирования,кодирования и вывода на дисплей случайного двоичного вектора заданной длины C++
C++ Метод push_back() класса vector
C++ stl::vector, метод pop_back()
C++ Выполнить перегрузку конструктора и операции вывода результатов на экран
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ITcrusader
Эксперт C++
 Аватар для ITcrusader
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
29.05.2013, 13:40     Класс vector (поля: координаты, 2 конструктора, метод нахождения длины вектора и метод вывода координат на экран) #2
TwN, показывай код, что непонятно как делать
TwN
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 6
29.05.2013, 13:42  [ТС]     Класс vector (поля: координаты, 2 конструктора, метод нахождения длины вектора и метод вывода координат на экран) #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
#include <conio.h>
#include <iostream>
#include <cmath>
 
using namespace std;
 
class vekt_na_plti
{
protected:
    int x, y;  //координата вектора x, y
public:
    vekt_na_plti()
    {
    }
    vekt_na_plti(int a, int b)  //конструктор для инициализации поля
    {
        x=a;
        y=b;
        //this->x=x;
        //this->y=y;
    }
    virtual double dlina_vect()
    {
        return pow(x*x+y*y,0.5);
    }
    virtual void print()
    {
        cout << "\nkoordinata vektora x= "<< x;
        cout <<"\nkoordinata vektora y= "<< y;
          cout << '\n' << "Dlina vektora na ploskosti: L=" << dlina_vect();
        //cout << '\n' << "Dlina vektora na ploskosti: L=" << dlina_vect(x,y);
    }
};
class vektor_v_trexmern_prve: public vekt_na_plti
{
    int z;  //координата вектора z
public:
    vektor_v_trexmern_prve()
    {
    }
    vektor_v_trexmern_prve(int x, int y, int z):vekt_na_plti(x ,y)
    {
        this->z=z;
    }
    double dlina_vect()
    {
        return pow(x*x+y*y+z*z,0.5);
    }
    void print()
    {
        vekt_na_plti::print();
        cout<<"\nkoordinata vektora z="<< z;
        cout << '\n' << "Dlina vektora v prostranstve: L=" << dlina_vect();
    }
};
 
int main()
{    
    int x1, y1, z1;    
    cout << "Vvedite koordinatu X: x="; cin >> x1; cout << '\n';
    cout << "Vvedite koordinatu Y: y="; cin >> y1; cout << '\n';
    cout << "Vvedite koordinatu Z: z="; cin >> z1; cout << '\n';
    vekt_na_plti A(x1,y1);
    vektor_v_trexmern_prve B(x1,y1,z1);
    vekt_na_plti *pA;
    int c;
    std::cout<<"Enter 2 or 3 ->";
    std::cin>>c;
    if(c==2)
        pA=&A;
    else
        pA=&B;
    pA->print();
    getch();
    return 0;
}
нужен еще 1 конструктор ,и вывод координат на экран, и переопределить методы класса, а я не очень соображаю в этом
ITcrusader
Эксперт C++
 Аватар для ITcrusader
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
29.05.2013, 13:46     Класс vector (поля: координаты, 2 конструктора, метод нахождения длины вектора и метод вывода координат на экран) #4
когда пост готовишь, пользуйся тегами C++ в тулбаре посмотри, выделяй ими код сишный, чтобы смайлики языки не показывали =)
Так:

Кликните здесь для просмотра всего текста
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
#include <conio.h>
#include <iostream>
#include <cmath>
 
using namespace std;
 
class vekt_na_plti
{
protected:
int x, y; //координата вектора x, y
public:
vekt_na_plti()
{
}
vekt_na_plti(int a, int b) //конструктор для инициализации поля
{
x=a;
y=b;
//this->x=x;
//this->y=y;
}
virtual double dlina_vect()
{
return pow(x*x+y*y,0.5);
}
virtual void print()
{
cout << "\nkoordinata vektora x= "<< x;
cout <<"\nkoordinata vektora y= "<< y;
cout << '\n' << "Dlina vektora na ploskosti: L=" << dlina_vect();
//cout << '\n' << "Dlina vektora na ploskosti: L=" << dlina_vect(x,y);
}
};
class vektor_v_trexmern_prve: public vekt_na_plti
{
int z; //координата вектора z
public:
vektor_v_trexmern_prve()
{
}
vektor_v_trexmern_prve(int x, int y, int z):vekt_na_plti(x ,y)
{
this->z=z;
}
double dlina_vect()
{
return pow(x*x+y*y+z*z,0.5);
}
void print()
{
vekt_na_plti:rint();
cout<<"\nkoordinata vektora z="<< z;
cout << '\n' << "Dlina vektora v prostranstve: L=" << dlina_vect();
}
};
 
int main()
{ 
int x1, y1, z1; 
cout << "Vvedite koordinatu X: x="; cin >> x1; cout << '\n';
cout << "Vvedite koordinatu Y: y="; cin >> y1; cout << '\n';
cout << "Vvedite koordinatu Z: z="; cin >> z1; cout << '\n';
vekt_na_plti A(x1,y1);
vektor_v_trexmern_prve B(x1,y1,z1);
vekt_na_plti *pA;
int c;
std::cout<<"Enter 2 or 3 ->";
std::cin>>c;
if(c==2)
pA=&A;
else
pA=&B;
pA->print();
getch();
return 0;
}
pizurok
 Аватар для pizurok
53 / 67 / 3
Регистрация: 05.05.2013
Сообщений: 2,702
29.05.2013, 13:47     Класс vector (поля: координаты, 2 конструктора, метод нахождения длины вектора и метод вывода координат на экран) #5
Цитата Сообщение от TwN Посмотреть сообщение
Здравствуйте , помогите пожалуйста с заданием.
Организовать класс Вектор на плоскости – поля: координаты, 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
#include<iostream>
#include<system.h>
#include<math.h>
 
class Vector
{
    protected:
        double x, y;
    public:
        Vector() : x(0), y(0) {}
        Vector(double _x, double _y) : x(_x), y(_y) {}
        virtual double Length()
        {
              return sqrt(x*x + y*y);
        }
        virtual void Output()
        {
              std::cout<<"("<<x";"<<y<<")"<<endl;
        }
};
 
class Vector3D : public Vector
{
    private:
        double z;
    public:
        Vector3D() : z(0), Vector(0, 0){}
        Vector3D(double _x, double _y, double _z) : z(_x), Vector(_x, _y) {}
        virtual double Length()
        {
              return sqrt(x*x + y*y + z*z);
        }
        virtual void Output()
        {
              std::cout<<"("<<x";"<<y<<";"<<z<<")"<<endl;
        }
};
 
int main()
{
    Vector a(2,4.5);
    Vector3D b(2,4.5);
    a.Output();
    b.Output();
    cout<<"Length a = "<<a.Length()<<endl;
    cout<<"Length b = "<<b.Length()<<endl;
    system("pause");
    return 0;
}
ITcrusader
Эксперт C++
 Аватар для ITcrusader
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
29.05.2013, 13:49     Класс vector (поля: координаты, 2 конструктора, метод нахождения длины вектора и метод вывода координат на экран) #6
А, ну вот за тебя все сделали)
TwN
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 6
29.05.2013, 13:49  [ТС]     Класс vector (поля: координаты, 2 конструктора, метод нахождения длины вектора и метод вывода координат на экран) #7
Понял вас, ну что скажете по моему коду ?
Croessmah
29.05.2013, 13:51
  #8

Не по теме:

Цитата Сообщение от TwN Посмотреть сообщение
Создать производный класс Вектор в трехмерном пространстве, добавив третью координату и переопределив методы базового класса.
бред. Лучше сделать N-мерный вектор сразу

TwN
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 6
29.05.2013, 14:05  [ТС]     Класс vector (поля: координаты, 2 конструктора, метод нахождения длины вектора и метод вывода координат на экран) #9
Преподаватель предирается если делать так как хочешь и не принимает, надо как он хочет сделать , вот мучаюсь сдать не могу

Добавлено через 11 минут
pizurok, Понять не могу ,ошибка
pizurok
 Аватар для pizurok
53 / 67 / 3
Регистрация: 05.05.2013
Сообщений: 2,702
29.05.2013, 18:04     Класс vector (поля: координаты, 2 конструктора, метод нахождения длины вектора и метод вывода координат на экран) #10
Ну неужели нельзя было исправить эти две ошибки?
Спецом пришлось запускать VS и компилировать.
Исправленный код:
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
#include<iostream>
#include<windows.h>
#include<math.h>
using namespace std;
 
class Vector
{
    protected:
        double x, y;
    public:
        Vector() : x(0), y(0) {}
        Vector(double _x, double _y) : x(_x), y(_y) {}
        virtual double Length()
        {
              return sqrt(x*x + y*y);
        }
        virtual void Output()
        {
            cout<<"("<<x<<";"<<y<<")"<<endl;
        }
};
 
class Vector3D : public Vector
{
    private:
        double z;
    public:
        Vector3D() : z(0), Vector(0, 0){}
        Vector3D(double _x, double _y, double _z) : z(_x), Vector(_x, _y) {}
        virtual double Length()
        {
              return sqrt(x*x + y*y + z*z);
        }
        virtual void Output()
        {
              cout<<"("<<x<<";"<<y<<";"<<z<<")"<<endl;
        }
};
 
int main()
{
    Vector a(2,4.5);
    Vector3D b(2,4.5,7);
    a.Output();
    b.Output();
    cout<<"Length a = "<<a.Length()<<endl;
    cout<<"Length b = "<<b.Length()<<endl;
    system("pause");
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2013, 04:25     Класс vector (поля: координаты, 2 конструктора, метод нахождения длины вектора и метод вывода координат на экран)
Еще ссылки по теме:

C++ Степенной метод нахождения наибольшего по модулю собственного значения и соответствующего ему собственного вектора
Класс Rectangle: возвратить значения координат, длины, ширины и площади C++
C++ Организовать производный класс, содержащий метод нахождения векторного произведения

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

Или воспользуйтесь поиском по форуму:
TwN
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 6
30.05.2013, 04:25  [ТС]     Класс vector (поля: координаты, 2 конструктора, метод нахождения длины вектора и метод вывода координат на экран) #11
pizurok, Спасибо большое
Yandex
Объявления
30.05.2013, 04:25     Класс vector (поля: координаты, 2 конструктора, метод нахождения длины вектора и метод вывода координат на экран)
Ответ Создать тему
Опции темы

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