Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 5

Класс, описывающий вектор в пространстве

22.06.2015, 11:09. Показов 4205. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создайте класс, описывающий вектор в пространстве. Такой вектор задаётся тремя координатами. Перегрузите операции +, -, * соответственно для сложения, вычитания, скалярного произведения векторов, умножения вектора на число. Для вычисления векторного произведения перегрузите операцию %. В классе должен быть конструктор, позволяющий инициализировать данные, а также функции, возвращающие значения элементов данных и позволяющие их менять. Напишите программу, тестирующую этот класс.
У меня вопрос, как сделать, чтобы не вводить с клавы значения 3 вектора, но чтобы он являлся значением вычислений над векторами 1 и 2? вот сама прога:

main.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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#include "stdafx.h"
#include <iostream>
#include "vector.h"
using namespace std;
int main()
{
    Vector vector_1, vector_2, vector_3;
    cout << "vector_1 + vector_2" << endl;
    vector_3 = vector_1 + vector_2;
    vector_3.print();
    cout << "vector_2 % vector_1" << endl;
    vector_3 = vector_2 % vector_1;
    vector_3.print();
    cout << "vector_1 - vector_2" << endl;
    vector_3 = vector_1 - vector_2;
    vector_3.print();
    cout << "vector_1 * -3" << endl;
    vector_3 = vector_1 * -3;
    vector_3.print();
    cout << "vector_1 * vector_2 = " << vector_1 * vector_2 << endl;
    system("pause");
    return 0;
}
 
 
vector.cpp
 
#include "stdafx.h"
#include <iostream>
#include "vector.h"
using namespace std;
Vector::Vector()
{
    cout << "Enter the coordinates:" << endl << "x = ";
    cin >> x;
    cout << "y = ";
    cin >> y;
    cout << "z = ";
    cin >> z;
}
Vector::Vector(double x_1, double y_1, double z_1)
{
    x = x_1;
    y = y_1;
    z = z_1;
}
Vector Vector::operator+ (const Vector& vector_3)
{
    return Vector(t = x + vector_3.x, e = y + vector_3.y, g = z + vector_3.z);
}
Vector Vector::operator- (const Vector& vector_3)
{
    return Vector(t = x - vector_3.x, e = y - vector_3.y, g = z - vector_3.z);
}
double Vector::operator* (const Vector& vector_3)
{
    return ((x * vector_3.x) + (y * vector_3.y) + (z * vector_3.z));
}
Vector Vector::operator* (int a)
{
    return Vector(t = x * a, e = y * a, g = z * a);
}
Vector Vector::operator% (const Vector& vector_3)
{
    return Vector(-(y * vector_3.z - z * vector_3.y), (x * vector_3.z - z * vector_3.x), -(x * vector_3.y - y * vector_3.x));
}
void Vector :: print()
{
    cout << "-Coordinates of the vector-" << endl << "x = " << x;
    cout << " |   y = " << y;
    cout << " |   z = " << z << endl;;
}
 
vector.h
#ifndef VECTOR
#define VECTOR
class Vector
{
    double x, y, z;
    double t, e, g;
public:
    Vector();
    Vector(double x_1, double y_1, double z_1);
    Vector operator+ (const Vector& vector_3);
    Vector operator- (const Vector& vector_3);
    double operator* (const Vector& vector_3);
    Vector operator* (int a);
    Vector operator% (const Vector& vector_3);
    void print();
    Vector set_x(double x_2)
    {
        x = x_2;
    }
    void set_y(double y_2)
    {
        y = y_2;
    }
    void set_z(double z_2)
    {
        z = z_2;
    }
    double get_t()
    {
        return t;
    }
    double get_e()
    {
        return e;
    }
    double get_g()
    {
        return g;
    }
};
#endif
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.06.2015, 11:09
Ответы с готовыми решениями:

Класс TPlane, описывающий плоскость в пространстве
Собственно само задание: переписать программу, используя новые знания о классах и перезагрузке операций. Использовать динамическое...

Разработать класс, описывающий вектор на плоскости
1. «Работа с классами. Объявление классов, наследование». На языке С++ разработать класс, описывающий вектор на плоскости. Реализовать...

Класс вектор в n-мерном пространстве
Есть задача: Разработать класс “вектор в n-мерном пространстве”. Определить: • конструктор (или несколько, если необходимо) • набор...

2
 Аватар для OstapBender
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
22.06.2015, 11:51
вынести чтение x,y,z из конструктора, в конструктор же передавать готовые координаты.
1
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 5
22.06.2015, 22:32  [ТС]
дело в том, что я не очень в этом разбираюсь и я не совсем хорошо вас поняла)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.06.2015, 22:32
Помогаю со студенческими работами здесь

Создать класс, описывающий треугольник, и наследник, описывающий прямые треугольной призмы
Создать класс описывающий треугольник. найти площадь треугольника. создать класс наследник, описывающий прямые треугольной призмы. найти...

Создать классы, описывающий прямоугольники и класс-наследник, описывающий прямоугольные параллепипеды
Создать классы, описывающий прямоугольники. Найти площадь прямоугольника. Создать класс-наследник, описывающий прямоугольные параллепипеды....

Создать класс "Вектор в двумерном евклидовом пространстве"
Здравствуйте! подскажите пожалуйста, кто может:help: Составить описание класса. Определить конструктор по умолчанию, конструктор с...

Создать класс "Вектор в трехмерном пространстве"
Создать класс, используя сведения, представленные в таблице. Разработать программу, демонстрирующую работу с объектами этого класса...

Класс: Создать класс, описывающий цех завода...
Создать класс, описывающий цех завода (количество единиц заготовок, поступающих на производство, количество единиц готовой продукции,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru