Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Реализовать класс Complex для работы с комплексными числами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Для каждой пары чисел вычислить среднее гармоничное этих чисел по формуле http://www.cyberforum.ru/cpp-beginners/thread674150.html
Привет! Нужно написать программу по ссылке! Я вот написал, но не знаю ли я ее правильно написал!! Проверьте кто-то пожалуйста!) Вот условие задачи: Написать программу, которая вводит с клавиатуры...
C++ Что изучать после C++ Какую книгу после изучение С++.Советуйте почитать? В смысл,что изучать дальше?MFC...QT.... Я как бы хочу получиьт знания для разработки приложение под Виндовс, под IPhone, Android Короче ,чтобы... http://www.cyberforum.ru/cpp-beginners/thread674129.html
Создать класс "одномерный массив", ввести 2 конструктора C++
ПО заданию надо создать класс одн. массив, ввести 2 конструктора :создание по кол-ву элементов, и конструктор-копию.+2 функции, вывод на экран и нахождение среднего арифметического из отрицательных...
C++ Можно ли применить find_if к вектору
Можно ли применить find_if к вектору? Нужно найти среди компонент вектора первое число, которое больше задаваемой величины (в векторе компоненты расположены по возрастанию). Если прописывать циклы,...
C++ Вычислить первых 15 членов последовательности http://www.cyberforum.ru/cpp-beginners/thread674046.html
Помогите пожалуйста решить 2 задачки на языке С ++.. Лежу в больнице, азы пропустила, а неделя сессионная, надо сделать.. Кто поможет буду благодарна.. очень.. Номера 2 и 4.. P.S.: Номер 2.....
C++ Поиск в массиве, переписать код с Delphi Переписать код с DELPHI на С++ procedure TForm1.Button3Click(Sender: TObject); var result:variant; begin result:=Students.Lookup ('FIO', Edit2.Text, 'FIO;BAL'); if VarType (result) = varNull... подробнее

Показать сообщение отдельно
David Sylva
1286 / 948 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
01.11.2012, 00:21
набросал класс комплексных чисел может кому пригодится.

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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
#include <iostream> 
 
class complex 
{ 
private: 
    double re, im; 
public:  
    complex() { re = 0; im = 0; }
    complex(double r, double i) { re = r; im = i; }  
    complex(const complex &ob){ re = ob.re; im = ob.im; }; 
    complex& operator = (complex); 
    complex operator + (complex);
    complex operator - (complex);
    complex operator * (complex&);
    complex operator / (complex&);
    complex& operator += (complex); 
    complex& operator -= (complex); 
    complex& operator *= (complex); 
    complex& operator /=( complex);  
    friend std::istream& operator >>(std::istream&, complex&); 
    friend std::ostream& operator << (std::ostream&, const complex&); 
    bool operator == (complex& com);  
    bool operator != (complex& com); 
    bool operator > (complex& com); 
    bool operator < (complex& com);
    
};   
 
bool complex:: operator > (complex& com) 
{  
    if(this->re > com.re) 
        return 1; 
    else if(this->re == com.re && this->im > com.im) 
        return 1; 
    else 
        return 0;
}
 
bool complex ::operator < (complex& com) 
{ 
    if(this->re < com.re) 
        return 1; 
    else if(this->re == com.re && this->im < com.im) 
        return 1; 
    else 
        return 0;
 
}
 
bool complex::operator != (complex& com) 
{  
    if(this->re != com.re || this->im != com.im) 
       return 1; 
    else  
        return 0;
}
 
bool complex::operator==(complex& com) 
{  
    if(this->re == com.re && this->im == com.im) 
        return 1; 
    else 
        return 0;
}
 
 
 
complex complex::operator*(complex &com) 
{  
    double i, j;  
    i = re * com.re - im * com.im; 
    j = re * com.im + com.re * im; 
    re = i; 
    im = j; 
    return *this; 
} 
 
complex complex::operator/(complex &com) 
{  
    double i, j, k; 
    k = re * re +com.im * com.im; 
    i = (re * com.re + im * com.im) / k; 
    j = (com.re * im - re * com.im) / k; 
    re = i; 
    im = j; 
    return *this;
}
 
complex& complex::operator =(complex com) 
{  
    this->re = com.re; 
    this->im = com.im; 
    return *this;
}  
 
complex complex::operator+(complex com) 
{ 
    this->re = this->re + com.re; 
    this->im = this->im + com.im; 
    return *this;
} 
 
complex complex::operator-(complex com) 
{ 
    this->re = this->re - com.re; 
    this->im = this->im - com.im; 
    return *this;
}
 
 
std::ostream& operator << (std::ostream& out, const complex& com) 
{  
    if(com.im < 0) 
        out << com.re << "+i(" << com.im << ")\n"; 
    else 
        out << com.re << "+i" << com.im << "\n"; 
    return out;
} 
 
std::istream& operator >> (std::istream& in, complex& com) 
{   
    std::cout << "Введите действительную часть комплексного числа ";
    in >> com.re; 
    std::cout << "Введите мнимую часть комплексного числа "; 
    in >> com.im;
    return in; 
}
 
complex& complex::operator+=(complex a) 
{ 
    re += a.re; 
    im += a.im; 
    return *this;
}
 
complex& complex::operator-=(complex a) 
{ 
    re -= a.re; 
    im -= a.im; 
    return *this;
} 
 
complex& complex::operator*=(complex a) 
{ 
    re *= a.re; 
    im *= a.im; 
    return *this;
} 
 
complex& complex::operator/=(complex a) 
{ 
    re /= a.re; 
    im /= a.im; 
    return *this;
} 
 
int main() 
{   
    setlocale(0, "rus");
    complex com; 
    std::cin >> com; 
    std::cout << com << std::endl;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru