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

Базовый класс Complex и производный класс для реализации квадратных матриц

22.12.2017, 10:25. Просмотров 126. Ответов 1
Метки c++ (Все метки)

1) Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в алгебраической форме и основных операций с ними: сложения, вычитания, умножения и деления.
2) Создайте производный класс для реализации квадратных матриц с комплексными элементами. Элементы матрицы заносятся в двумерный массив. Предусмотреть возможность индексирования объектов, сложения и вычитания матриц.P
P.S. с первой половиной справился, нужна вторая часть.
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
 #include "stdafx.h"
#include <iostream>
#include <vector>
#include <iterator>
#include <cmath>
#include <clocale>
using namespace std;
 
class ComplexNumber
{
 
public:
    double real; // Действительнаня
    double image; // Мнимая
 
    ComplexNumber(double re = 0, double im = 0) // Конструктор
    {
        real = re, image = im;
    }
 
    ComplexNumber operator+(const ComplexNumber &); // Сложение
    ComplexNumber operator-(const ComplexNumber &); // Вычитание
    ComplexNumber operator*(const ComplexNumber &); // Умножение
    ComplexNumber operator/(const ComplexNumber &); //Деление
    friend ostream &operator<<(ostream &, const ComplexNumber &); // Вывод комплексных чисел
    friend istream &operator>>(istream &, ComplexNumber &); // Ввод комплексных чисел
};
 
// Сложение Перегрузка +
ComplexNumber ComplexNumber::operator+(const ComplexNumber &CN)
{
    ComplexNumber t(*this);
    t.real += CN.real;
    t.image += CN.image;
    return t;
}
 
// Вычитание Перегрузка -
ComplexNumber ComplexNumber::operator-(const ComplexNumber &CN)
{
    ComplexNumber t(*this);
    t.real -= CN.real;
    t.image -= CN.image;
    return t;
}
// Умножение Перегрузка *
ComplexNumber ComplexNumber::operator*(const ComplexNumber &CN)
{
    ComplexNumber t(*this);
    t.real *= CN.real;
    t.image *= CN.image;
    return t;
}
// Деление Перегрузка /
ComplexNumber ComplexNumber::operator/(const ComplexNumber &CN)
{
    ComplexNumber t(*this);
    t.real /= CN.real;
    t.image /= CN.image;
    return t;
}
 
 
// Вывод  Перегрузка <<
ostream &operator<< (ostream &fo, const ComplexNumber &fp)
{
    if (fp.image < 0) fo << fp.real << "+i(" << fp.image << ")\n";
    else fo << fp.real << "+i" << fp.image << "\n";
    return fo;
}
 
// Ввод  Перегрузка >>
istream &operator>>(istream &fi, ComplexNumber &fp)
{
    fi >> fp.real;
    fi >> fp.image;
 
    return fi;
}
 
 
 
 
class IntegratedVector : public ComplexNumber
{
public:
 
    IntegratedVector(double re, double im) : ComplexNumber(re, im)
    {};
    vector<double> compVector; // создаем пустой вектор
 
    void addToVector(double re, double im); // Добавление элементов в вектор
    void showVector(double re, double im); // Вывод элементов вектора на экран
};
 
// Добавление элементов в вектор
void IntegratedVector::addToVector(double re, double im)
{
    compVector.insert(compVector.end(), re);
    compVector.insert(compVector.end(), im);
}
 
// Вывод элементов вектора на экран
void IntegratedVector::showVector(double re, double im)
{
    copy(compVector.begin(),
        compVector.end(),
        ostream_iterator<double>(cout, " ")
        );
}
 
int main()
{
    setlocale(LC_ALL,"rus");
 
    ComplexNumber num1, num2, num3;
    cout << "1 число, введите действительную и мнимую части через пробел: ";
    cin >> num1;
    cout << "2 число, введите действительную и мнимую части через пробел: ";
    cin >> num2;
    cout << "3 число, введите действительную и мнимую части через пробел: ";
    cin >> num3;
 
    cout << "\nnum1 = " << num1;
    cout << "num2 = " << num2;
    cout << "num3 = " << num3 << '\n';
 
    cout << "Сумма: " << num1 + num2 + num3;
    cout << "Разность: " << num1 - num2 - num3;
    cout << "Произведение: " << num1 * num2 * num3;
    cout << "Частное: " << num1 / num2 / num3;
    system("pause");
    return 0;
}

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2017, 10:25
Ответы с готовыми решениями:

Базовый класс Complex и производный класс Vector
Создайте базовый класс Complex (комплексное число) для реализации комплексных...

Создать базовый класс - Array и производный класс - Money для работы денежной суммы
ПОМОГИТЕ, ПОЖАЛУЙСТА, С ЗАДАЧЕЙ Создать базовый класс - Array и производный...

Создать базовый класс Car (машина) и производный класс Lorry (грузовик): ООП ошибки
Создать базовый класс Car (машина), характеризуемый торговой маркой (строка),...

Наследование: базовый класс Квадрат, производный класс Пирамида
Помогите, пожалуйста!:cry: Добавлено через 6 минут Создать класс КВАДРАТ,...

Указатели в базовом классе на базовый класс и производный класс
Пишу контейнер &quot;Бинарное дерево поиска&quot; для частотного словаря. С самим...

1
nonedark2008
1024 / 764 / 210
Регистрация: 28.07.2012
Сообщений: 2,122
22.12.2017, 11:20 #2
Цитата Сообщение от VictorMasturbet Посмотреть сообщение
с первой половиной справился
Умножение и деление реализованы неправильно.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2017, 11:20

Создать базовый класс Triad и производный класс vector3D
Помогите пожалуйста с заданием. Часть кода(vector3D) сделал, вроде работает...

Создать базовый класс Тройка_чисел (Triad) и производный класс Time с полями часы, минуты и секунды
Наследование. Виртуальныефункции.Полиморфизм. 1. Цельзадания: 1) Создание...

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


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

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

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