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

Составить описание класса для представления комплексных чисел - C++

Восстановить пароль Регистрация
 
Ghostyy
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 5
03.04.2013, 18:38     Составить описание класса для представления комплексных чисел #1
Составить описание класса для представления комплексных чисел. Обеспечить выполнение операций сложения, вычитания, умножения, деления, сравнения комплексных чисел, вычисления сопряженного.
Помогите, пожалуйста. с пояснениями, если не трудно...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2013, 18:38     Составить описание класса для представления комплексных чисел
Посмотрите здесь:

Составить описание класса для объектов-векторов C++
C++ Составить описание класса для представления комплексных чисел
C++ Составить описание класса для представления комплексных чисел
C++ Составить описание класса для определения одномерных массивов
C++ Составить описание класса для определения квадратных матриц целых чисел
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Qu
2 / 2 / 2
Регистрация: 02.04.2013
Сообщений: 10
03.04.2013, 19:16     Составить описание класса для представления комплексных чисел #2
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
class Complex
{
    double re, im;
public:
    Complex(double re1=0, double im1=0): re(re1), im(im1){};
    Complex operator +(const Complex &z);
    Complex operator -(const Complex &z);
    Complex operator *(const Complex &z);
    Complex operator /(const Complex &z);
    Complex adjoined(const Complex &z); // получение сопряженного
};
 
Complex Complex::operator +(const Complex &z)
{
    return Complex(re+z.re, im+z.im);
}
 
Complex Complex::operator -(const Complex &z)
{
    return Complex(re-z.re, im-z.im);
}
 
Complex Complex::operator *(const Complex &z)
{
    return Complex(re*z.re-im*z.im, im*z.re+re*z.im);
}
 
Complex Complex::operator /(const Complex &z)
{
    double dvs=z.re*z.re+z.im*z.im;
    return Complex((re*z.re+im*z.im)/dvs, (im*z.re-re*z.im)/dvs);
}
 
Complex Complex::adjoined(const Complex &z)
{
    return Complex(z.re, (-1)*z.im);
}
Какие пояснения нужны, не знаю. Если что не понятно - спрашивайте. Тут я не реализовал сравнение, потому как не знаю, что вы подразумеваете под сравнением комплексных чисел и не делал проверку на равенство нулю делителя в операции деления.
Ghostyy
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 5
10.04.2013, 16:59  [ТС]     Составить описание класса для представления комплексных чисел #3
под сравнением я подразумеваю равны они или нет... т.е. если равны действительные и мнимые части, то комплексные числа равны... и, если не трудно, скажите, пожалуйста, какие библиотеки подключать надо?)
Qu
2 / 2 / 2
Регистрация: 02.04.2013
Сообщений: 10
10.04.2013, 22:20     Составить описание класса для представления комплексных чисел #4
Тогда код будет выглядеть так:
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
class Complex
{
    double re, im;
public:
    Complex(double re1=0, double im1=0): re(re1), im(im1){};
    Complex operator +(const Complex &z);
    Complex operator -(const Complex &z);
    Complex operator *(const Complex &z);
    Complex operator /(const Complex &z);
    Complex adjoined(const Complex &z); // получение сопряженного
    bool is_equal(const Complex &x, const Complex &y); // сравнение на равенство
};
 
Complex Complex::operator +(const Complex &z)
{
    return Complex(re+z.re, im+z.im);
}
 
Complex Complex::operator -(const Complex &z)
{
    return Complex(re-z.re, im-z.im);
}
 
Complex Complex::operator *(const Complex &z)
{
    return Complex(re*z.re-im*z.im, im*z.re+re*z.im);
}
 
Complex Complex::operator /(const Complex &z)
{
    double dvs=z.re*z.re+z.im*z.im;
    return Complex((re*z.re+im*z.im)/dvs, (im*z.re-re*z.im)/dvs);
}
 
Complex Complex::adjoined(const Complex &z)
{
    return Complex(z.re, (-1)*z.im);
}
 
bool Complex::is_equal(const Complex &x, const Complex &y)
{
    return (x.re==y.re && x.im==y.im);
}
Для работоспособности данного кода никаких библиотек подключать не требуется.
Ghostyy
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 5
12.04.2013, 07:55  [ТС]     Составить описание класса для представления комплексных чисел #5
компилируя в codebloks, у меня выводит ошибку: undefined reference to 'WinMain@16'...
Qu
2 / 2 / 2
Регистрация: 02.04.2013
Сообщений: 10
12.04.2013, 20:50     Составить описание класса для представления комплексных чисел #6
Видимо вы просто скопировали этот код и попытались скомпилировать. Если это так, то поясню: этот код является описанием класса, а не программой. В программе должна присутствовать функция main, т.е. как минимум после описания класса должны находиться строчки:
C++
1
2
3
4
int main()
{
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2013, 12:17     Составить описание класса для представления комплексных чисел
Еще ссылки по теме:

Составить описание класса для представления комплексных чисел C++
Составить описание класса для работы с квадратной целочисленной матрицей C++
Методы класса для сложения и вычитания комплексных чисел (упростить код) C++

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

Или воспользуйтесь поиском по форуму:
Ghostyy
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 5
14.04.2013, 12:17  [ТС]     Составить описание класса для представления комплексных чисел #7
а, ну да... а вы не могли бы написать, что должно быть в main? пожалуйста.
Yandex
Объявления
14.04.2013, 12:17     Составить описание класса для представления комплексных чисел
Ответ Создать тему
Опции темы

Текущее время: 10:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru