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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ms Proger
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 88
#1

Операции с комплексными числами. Проконсультируйте. (аргумент, модуль, сложение, умножение, вычитание) - C++

22.03.2014, 21:36. Просмотров 959. Ответов 5
Метки нет (Все метки)

здравствуйте. Эта программа рабочая, работает для аргумента, сложения, вычитания, умножения, модуля комплексных чисел. Проверьте её пожалуйста. Что надо добавить / убрать... Меня затруднило
C++
1
2
3
4
5
{
complex a(7.0,6.0),b(2.0,4.0),c;
c=a*b;
c.print();
}
что здесь можно добавить, связанное с модулем и аргументом, подскажите.

вот код.

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
#include "stdafx.h"
#include "math.h"
#include <iostream>
using namespace std;
 
class complex//задаем класс
{
private://явл. собственным полем
    double m_a;//мембер "а"
    double m_b;
    
public:
    complex();
    complex (double a, double b);
    
    complex &operator+ (const complex&);//& относится к complex,возратить ссылку на класс
    complex &operator- (const complex&);
    /*перегрузка операторов Может выполнять арифметические и другие операции 
    для своих типов данных с помощью обычных символов + - *
    перегрузка оператора -класс будет использовать этот метод как оператор.когда класс 
    перегружает оператор, он должен указать функцию, которая реализует операцию, соответствующую этому оператору
    */
    complex &operator* (const complex&);
    void print();
 
    double getModule();
    double getArgument();
    
    
};
 
complex::complex()
{
    m_a = 0.0;
    m_b = 0.0;
}
 
complex::complex (double a, double b)
{
    m_a = a;
    m_b = b;
}
 
//реализовываем + - * соответственно
 
complex &complex :: operator+ (const complex &source)
{
    /*Создаём новый объект класса КОМПЛЕКС с названием newComplex 
    с помощью конструктора complex (double a, double b);
    */
    complex newComplex(this->m_a + source.m_a, this->m_b + source.m_b);
    /* this -указатель на экземпляр класса и представляет собой
    адрес объякта которому присвоили значение а.
    source - экземпляр класса, "." - обращение к данным и методам класса
    */
    return newComplex; //возвратили это (+)
}
complex &complex :: operator- (const complex &source)
{
    complex newComplex(this->m_a - source.m_a, this->m_b - source.m_b);
    return newComplex;
}
complex &complex :: operator* (const complex &source)
{
    complex newComplex(this->m_a * source.m_a - this->m_b * source.m_b, this->m_a * source.m_b + this->m_b * source.m_a); // вычисление (a+bi)(c+di) = a*c-b*d + (a*d+b*c)i
    return newComplex;
}
double complex::getModule()
{
    return sqrt(m_a*m_a+m_b*m_b);
}
double complex::getArgument()
{
    return atan2(m_b, m_a);
}
void complex::print()
{
    cout << m_a << "+i" << m_b << endl;
}
 
void _tmain()
{
complex a(7.0,6.0),b(2.0,4.0),c;
c=a*b;
c.print();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2014, 21:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Операции с комплексными числами. Проконсультируйте. (аргумент, модуль, сложение, умножение, вычитание) (C++):

Структуры: арифметические операции (сложение, вычитание, умножение, деление) над комплексными числами - C++
Написать программу, реализующую арифметические операции (сложение, вычитание, умножение, деление), над комплексными числами. Использовать...

Операции над матрицами-сложение, вычитание, умножение на число - C++
Здравствуйте,помогите пожалуйста по такой проблемке-в С++ надо создать матрицу и действия над ней..буду очень благодарен кто поможет.

Организовать ввод двух вещественных чисел и операции над ними: сложение, вычитание, умножение и деление - C++
Парни всем привет! Начинаю новую тему по решению задач Задача звучит так: Написать программу, которая запрашивает ввод двух...

Сложение, вычитание, умножение - C++
Доброго времени суток! Помогите с задачей: Написать функцию, которая складывает, вычитает или умножает два целых числа и возвращает...

Нестандартное сложение, вычитание, умножение и деление - C++
Что-то на форуме скучно, давайте устроим небольшой интерактивчик, придумываем самые нестандартные способы сложения, вычитания, умножения и...

Сложение и вычитание, умножение и деление, сравнение сумм - C++
Уважаемые форумчане! помогите, пожалуйста, нужно написать программу для работы с устаревшей денежной системой Великобритании. В ней...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
just_freelance
61 / 37 / 9
Регистрация: 15.03.2014
Сообщений: 315
22.03.2014, 21:50 #2
Ms Proger, а почему деление не реализовали?
Ms Proger
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 88
22.03.2014, 21:57  [ТС] #3
в задании этого не было. Наверное позже. Но это пока не суть важно.
S_el
2095 / 1602 / 308
Регистрация: 15.12.2013
Сообщений: 6,444
22.03.2014, 22:57 #4
Ms Proger, вы учли частные случаи аргумента?
Ms Proger
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 88
23.03.2014, 20:25  [ТС] #5
Нет не учел.. подскажите, если не сложно

Добавлено через 19 часов 28 минут
здравствуйте еще раз. как в моём коде можно учесть частные случаи аргумента?
S_el
2095 / 1602 / 308
Регистрация: 15.12.2013
Сообщений: 6,444
23.03.2014, 22:22 #6
Цитата Сообщение от Ms Proger Посмотреть сообщение
как в моём коде можно учесть частные случаи аргумента?
Ms Proger, например через условный оператор.

C++
1
2
3
4
if(/*условие*/)
{
//действие.
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2014, 22:22
Привет! Вот еще темы с ответами:

Сделать сложение, вычитание, умножение и деление длинных чисел - C++
В общем, задача такая, что надо сделать сложение, вычитание, умножение и деление длинных чисел. Сумму сделал, с вычитанием какая-то засада....

Операции над комплексными числами - C++
В данной программе нужно создать дружескую функцию класса Komplex. Таким образом чтобы читалась строка с5=2+с1. Как это правильно сделать??...

Операции над комплексными числами - C++
Дано вот такое задание: Написать программу на языке C++, реализующую арифметику комплекс- ных чисел. Должны быть как минимум определены...

Операции с комплексными числами и перегрузка операторов << и >> - C++
Здрасте! Пытаюсь решить задачу по написанию программы, которая производит действия с комплексными числами (если потребуется, объясню, что...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.03.2014, 22:22
Ответ Создать тему
Опции темы

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