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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Для каждой пары чисел вычислить среднее гармоничное этих чисел по формуле http://www.cyberforum.ru/cpp-beginners/thread674150.html
Привет! Нужно написать программу по ссылке! Я вот написал, но не знаю ли я ее правильно написал!! Проверьте кто-то пожалуйста!) Вот условие задачи: Написать программу, которая вводит с клавиатуры пару чисел a и b до тех пор, пока a! = 0 или b! = 0. Для каждой пары чисел вычислить среднее гармоничное этих чисел по формуле: среднее гармоничное = 2 * a * b / (a + b) #include <iostream>
C++ Что изучать после C++ Какую книгу после изучение С++.Советуйте почитать? В смысл,что изучать дальше?MFC...QT.... Я как бы хочу получиьт знания для разработки приложение под Виндовс, под IPhone, Android Короче ,чтобы Software Development'ом заниматься. Спасибо http://www.cyberforum.ru/cpp-beginners/thread674129.html
Создать класс "одномерный массив", ввести 2 конструктора C++
ПО заданию надо создать класс одн. массив, ввести 2 конструктора :создание по кол-ву элементов, и конструктор-копию.+2 функции, вывод на экран и нахождение среднего арифметического из отрицательных элементов. Уже третий час пытаюсь реализовать конструктор-копия, самое меньшее до чего доходил это одна ошибка(в данном случае это "невозможно преобразовать array в double" или же при выводе массиво...
C++ Можно ли применить find_if к вектору
Можно ли применить find_if к вектору? Нужно найти среди компонент вектора первое число, которое больше задаваемой величины (в векторе компоненты расположены по возрастанию). Если прописывать циклы, то выглядит следующим образом: void roundToTheNearestTableValue(std::vector<double> &yArray, int ySize, double inputValue, int...
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 then ShowMessage ('Нет студента' + Edit2.Text) else if VarType (result) = varEmpty then ShowMessage ('Поиск не произведен') подробнее

Показать сообщение отдельно
David Sylva
 Аватар для David Sylva
1283 / 945 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
01.11.2012, 00:21     Реализовать класс 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
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;
}
 
Текущее время: 19:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru