Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
reser007
0 / 0 / 0
Регистрация: 19.11.2016
Сообщений: 17
0

Создать иерархию классов для работы с комплексными числами

17.12.2016, 08:56. Просмотров 169. Ответов 1
Метки (Все метки)

Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в алгебраической форме и основных операций с ними: сложения, вычитания, умножения и деления. Создайте производный класс, в котором определите операции вычисления модуля комплексного числа и комплексно спряженного.

Вот мои наработки, но они не работают.
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
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
 
class complex
{
protected:
    double x;
    double y;
public:
    complex();
    complex(double _x, double _y);
    ~complex();
    void viev() const;
    complex operator + (const complex &m);
    complex operator - (const complex &m);
    complex operator * (const complex &m);
    complex operator / (const complex &m);
    };
  
class abv_complex :public complex
{private: 
        double z;
public:
    abv_complex(double _z, double _x, double _y):
      complex(_x, _y) {z=_z;}
      void two() double;
          cout << "Введите действительную часть числа:" << endl;
         cin >> x;
        cout << "Введите мнимую часть числа:" << endl;
        cin >> y;
        viev();
        void gas() {
            z = pow(x*x + y*y, 0.5);
            cout<<"Модуль: "<<z;
          cout<<"Сопряженное : z="<<x<<"-"<<y<<endl;}
          
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "russian");
 
    complex a, b;
    complex r = a + b;
    abv_complex two;
    r.viev();
    r = a - b;
    r.viev();
    r = a*b;
    r.viev();
    r = a / b;
    r.viev();
    r.gas();
    r.two();
    
    system("pause");
    return 0;
}
complex complex::operator + (const complex &m){
        complex result(*this);
        result.x = x + m.x;
        result.y = y + m.y;
        return result;
    }
 
    complex complex::operator - (const complex &m){
        complex result(*this);
        result.x = x - m.x;
        result.y = y - m.y;
        return result;
    }
 
    complex complex::operator * (const complex &m){
        complex result(*this);
        result.x = (x*m.x) - (y*m.y);
        result.y = (y*m.x) + (x*m.y);
        return result;
    }
 
    complex complex::operator / (const complex &m){
        complex result(*this);
        result.x = (((x*m.x) + (y*m.y)) / (m.x*m.x - m.y*m.y));
        result.y = (((y*m.x) - (x*m.y)) / (m.x*m.x - m.y*m.y));
        return result;
    }
complex::complex() {
    double z;
    cout << "Введите действительную часть числа:" << endl;
    cin >> x;
    cout << "Введите мнимую часть числа:" << endl;
    cin >> y;
    z = pow(x*x + y*y, 0.5);
    viev();
}
complex::~complex(){}
 
void complex::viev() const{
    cout << "z=" << x << "+" << y << "i" << endl;
}


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

Создать класс для работы с тригонометрическими комплексными числами - C++
Создать класс для работы с тригонометрическими комплексными числами....

Создать класс для работы с тригонометрическими комплексными числами
Дана первоначальная задача (я ее решил):3. Создать класс для работы с...

c++ создать класс complex для работы с комплексными числами
Помогите, пожалуйста. c++ создать класс complex для работы с комплексными...

Класс для работы с комплексными числами
ne kompeliruet :S #ifndef COMPLEX0_H_ #define COMPLEX0_H_ class Complex { ...

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

1
Другие темы раздела
C++ Определить расположение заданной точки в декартовой системе координат http://www.cyberforum.ru/cpp-beginners/thread1880596.html
Даны координаты точки x и y. Определить ее расположение в декартовой системе координат. Ввод 4 2 Вывод 1 Выходные данные - (0,1,2,3,4,X,Y)
C++ Исследовать сходимость последовательности к заданному числу, используя определение предела последовательности Исследовать сходимость последовательности {x_n } к данному числу a, используя определение предела последовательности. Для каждого заданного ε найти такое натуральное N, что для всех n≥N |x_n-a|<ε.... http://www.cyberforum.ru/cpp-beginners/thread1880594.html
Подсчитать сколько всего ошибочных табличек оказалось в бракованной партии C++
Здравствуйте,не могли бы помочь. В городе N есть большой склад на котором существует 50000 различных полок. Для удобства работников руководство склада решило заказать для каждой полки табличку с...
C++ Определить, могут ли три заданных числа быть длинами сторон разностороннего тупоугольного треугольника
Даны три положительных числа. Если они могут быть длинами сторон разностороннего тупоугольного треугольника, то вычислить величины углов в градусах, иначе вывести соответствующее сообщение....
C++ Найти площадь равностороннего треугольника, зная его периметр (объяснить код) http://www.cyberforum.ru/cpp-beginners/thread1880588.html
Задача: Известно значение периметра равностороннего треугольника. Вычислить его площадь. Вод код решения задачи. #include <iostream> #include <math.h> using namespace std; int main() { ...
C++ Реализовать вызов методов класса с помощью указателей на функции Помогите пожалуйста!!! Есть несколько классов. Необходимо вызывать методы класса с помощью указателей на функции. В методах используется работа с list, а также двоичными файлами. Я сделала обычные... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru