Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
TwN
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 7
#1

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

29.05.2013, 13:30. Просмотров 1217. Ответов 10
Метки нет (Все метки)

Здравствуйте , помогите пожалуйста с заданием.
Организовать класс Вектор на плоскости – поля: координаты, 2 конструктора, метод нахождения длины вектора и метод вывода координат на экран. Создать производный класс Вектор в трехмерном пространстве, добавив третью координату и переопределив методы базового класса.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2013, 13:30
Ответы с готовыми решениями:

Определите класс формирования,кодирования и вывода на дисплей случайного двоичного вектора заданной длины
задание: Определите класс формирования,кодирования и вывода на дисплей...

Не получается создать метод для вывода вектора из класса
Здраствуйте, 2 день смотрю уроки по классам, но все бестолку. У меня имеется...

Нахождения корней уравнения: метод половинного деления (бисекции) или метод хорд
Разработать программу нахождения корней уравнения f(x) =0 на интервале с...

Организовать производный класс, содержащий метод нахождения векторного произведения
Возникли сложности при решении задачи. Буду признателен тем, кто поможет....

Рекурсивный метод для вывода на экран последовательности
Дано натуральное число n. Разработать рекурсивный метод для вывода на экран...

10
ITcrusader
Эксперт С++
177 / 163 / 21
Регистрация: 12.02.2013
Сообщений: 410
29.05.2013, 13:40 #2
TwN, показывай код, что непонятно как делать
0
TwN
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 7
29.05.2013, 13:42  [ТС] #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 конструктор ,и вывод координат на экран, и переопределить методы класса, а я не очень соображаю в этом
0
ITcrusader
Эксперт С++
177 / 163 / 21
Регистрация: 12.02.2013
Сообщений: 410
29.05.2013, 13:46 #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;
}
1
pizurok
76 / 68 / 19
Регистрация: 05.05.2013
Сообщений: 3,807
29.05.2013, 13:47 #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;
}
1
ITcrusader
Эксперт С++
177 / 163 / 21
Регистрация: 12.02.2013
Сообщений: 410
29.05.2013, 13:49 #6
А, ну вот за тебя все сделали)
0
TwN
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 7
29.05.2013, 13:49  [ТС] #7
Понял вас, ну что скажете по моему коду ?
0
Croessmah
29.05.2013, 13:51
  #8

Не по теме:

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

1
TwN
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 7
29.05.2013, 14:05  [ТС] #9
Преподаватель предирается если делать так как хочешь и не принимает, надо как он хочет сделать , вот мучаюсь сдать не могу

Добавлено через 11 минут
pizurok, Понять не могу ,ошибка
0
pizurok
76 / 68 / 19
Регистрация: 05.05.2013
Сообщений: 3,807
29.05.2013, 18:04 #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;
}
0
TwN
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 7
30.05.2013, 04:25  [ТС] #11
pizurok, Спасибо большое
0
30.05.2013, 04:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2013, 04:25

Степенной метод нахождения наибольшего по модулю собственного значения и соответствующего ему собственного вектора
Привет всем. Есть код программы, но почему то он не работает, подскажите в чем...

Как можно увеличить размер вектора, который является элементом вектора vector<vector<int>>arr(n, vector <int>)
Написал программу, которая создает вектор 'а' векторов 'b', вектора 'b'...

Абстрактный класс «Клиент банка», имеющий виртуальный метод для вывода данных о клиенте
Создать абстрактный класс «Клиент банка», имеющий поля ФИО и адрес, а также...


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

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

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