С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 1
Регистрация: 01.02.2018
Сообщений: 2
1

Организовать класс ВЕКТОР, предусмотрев для него несколько видов конструкторов

01.02.2018, 19:31. Показов 1731. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите! Для пространства R3 (выбрана правая система декартовых прямоугольных координат {0, i, j, k}) создать класс ВЕКТОР, предусмотрев для него несколько видов конструкторов. Все поля-координаты вектора — скрытые атрибуты класса, координаты целочисленные. При выводе на экран поля объекта отображаются в формате (i, j, k). Перегрузите следующие бинарные операторы: сумма (+), «скалярное произведение» (*). Перегрузите функции min, max как дружественные функции класса так, чтобы они из двух векторов возвращали тот, что имеет меньшую (большую) длину.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.02.2018, 19:31
Ответы с готовыми решениями:

Класс String поддерживает несколько конструкторов
Прочитал: Класс String поддерживает несколько конструкторов, например String(), String(String...

Определить класс «Строка» – String длины n; написать несколько конструкторов
Определить класс «Строка» – String длины n. Написать несколько конструкторов, в том числе...

Наследование: Определить класс vector2 как вектор на плоскости. Определить для него операции и функции
Уже который час мучаюсь не выходит помогите пожалуйста Определить класс vector2 как вектор...

В озере водится несколько видов рыб. Три рыбака поймали рыб, представляющих некоторые из имеющихся видов
В озере водится несколько видов рыб. Три рыбака поймали рыб, представляющих некоторые из имеющихся...

2
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
01.02.2018, 19:50 2
С чем помочь? Вопросов не видно
0
0 / 0 / 1
Регистрация: 01.02.2018
Сообщений: 2
01.02.2018, 19:58  [ТС] 3
Лучший ответ Сообщение было отмечено Мария1123 как решение

Решение

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
#include <iostream>
#include <cstdlib>
#include <string>
#include <math.h>
using namespace std;
 
 
class vektor
{
private:
    int x, y, z;
public:
    vektor(int, int, int);
    //~vektor();
    friend ostream& operator<<(ostream& cout, vektor v);
    int getValue();
    int operator*(vektor& right);
    vektor operator -() const;
    friend double cos(vektor& v1, vektor& v2);
    friend double sin(vektor& v1, vektor& v2);
    vektor& operator=(vektor& v);
};
 
vektor::vektor(int i, int j, int k)
{
    x = i; y = j; z = k;
}
 
/*
бейрнп::~бейрнп()
{
    delete[] & x, &y, &z;
}
*/
 
int vektor::getValue()
{
    int arr[3] = { 1, 2, 3 };
    return *arr;
}
 
ostream& operator<<(ostream& cout, const vektor v){
    string s = to_string(v.x) + " " + to_string(v.y) + " " + to_string(v.z);
    cout << s << endl;
    return cout;
}
 
int vektor::operator*(vektor& right) {
    return int(x * right.x + y * right.y + z * right.z);
}
 
vektor vektor::operator - () const {
    return vektor(-x, -y, -z);
}
 
double cos(vektor& v1, vektor& v2)
{
    double l1 = sqrt(v1.x*v1.x + v1.y*v1.y + v1.z*v1.z);
    double l2 = sqrt(v2.x*v2.x + v2.y*v2.y + v2.z*v2.z);
    return (v1 * v2) / (l1 * l2);
}
 
double sin(vektor& v1, vektor& v2)
{
    double t = cos(v1, v2);
    return sqrt(1 - t*t);
}
 
vektor& vektor::operator=(vektor& v)//ОЕПЕЦПСГЙЮ
{
    x = v.x; y = v.y; z = v.z;
    return *this;
}
 
 
int main()
{
    vektor v1 = vektor(1, 2, 3);
    vektor v2 = vektor(5, 2, 1);
    int t = v1 * v2;
    v1 = -v1;
    cout << v2;
    cout << cos(v1, v2) << endl;
    cout << sin(v1, v2) << endl;
    system("pause");
    return 0;
}
Вот программа, но его нужно изменить под задание, которое я написала. Так как это задание похожее с моим. В этой программе условия: При выводе на экран
поля объекта отображаются в формате (i, j, k). Перегрузите бинарный оператор
«скалярное произведение» (*), унарный оператор «инвертирование всех
координат» (-). Перегрузите функции cos, sin как дружественные функции
класса так, чтобы они возвращали для двух векторов косинус или синус угла
между ними соответственно.
А мне нужно мои.
0
01.02.2018, 19:58
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.02.2018, 19:58
Помогаю со студенческими работами здесь

Несколько видов анимаций для одного контроллера
Честно говоря, перерыл уже весь яндекс и гугл (возможно плохо рыл). Игра 2Д. У меня есть 1 объект...

Разработать класс для массива строк c наличием нескольких конструкторов и деструктора
Разработать класс для массива строк. Написать несколько конструкторов, в том числе конструктор...

Класс для реализации различных видов поиска элемента в массиве
Привет. Мне нужно написать класс для поисков элемента. помогите написать класс. И еще вопрос есть:...

Определить класс Time, предусмотрев в нем компонентные данные: часы, минуты, секунды
Определить класс Time, предусмотрев в нем компонентные данные: часы, минуты, секунды; компонентные...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Параллельное программировани­е: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS, Swagger и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru