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

Комплексные чилса - C++

Восстановить пароль Регистрация
 
fastfooddgd
0 / 0 / 0
Регистрация: 07.04.2011
Сообщений: 7
24.05.2011, 14:36     Комплексные чилса #1
Вот само задание лабы:
Составить описание класса для представления комплексных чисел с возможностью задания вещественной и мнимой частей как числами типов double, так и целыми числами. Обеспечить выполнение операций сложения, вычитания и умножения комплексных чисел.

Можете объяснить где в ней находиться:
1)вещественная, мнимая часть
2)тип double и целые числа

Файл Main.cpp
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
#include "task3.h"
void main()
{
    complex<int> number1(-7, 12);
    complex<int> number2(9, -2);
    complex<int> result;
 
    cout<<"Addition: ";
    number1.show();
    cout<<" + ";
    number2.show();
    cout<<" = ";
    result = number1 + number2;
    result.show();
 
    cout<<endl<<"Substraction: ";
    number1.show();
    cout<<" - ";
    number2.show();
    cout<<" = ";
    result = number1 - number2;
    result.show();
 
    cout<<endl<<"Multiplication: ";
    number1.show();
    cout<<" * ";
    number2.show();
    cout<<" = ";
    result = number1*number2;
    result.show();
    cout<<endl;
}
Файл task3.h
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
#pragma once
#include <iostream>
using namespace std;
template <class T>
class complex
{
    private:
        T real, imaginary;
    public:
        complex();
        complex(T real, T imaginary);
        complex<T> operator+(complex<T> number);
        complex<T> operator-(complex<T> number);
        complex<T> operator*(complex<T> number);
        void show();
        ~complex();
};
template <class T>
complex<T>::complex(T real, T imaginary)
{
    this->real = real;
    this->imaginary = imaginary;
};
template <class T>
complex<T>::complex()
{
    this->real = 0;
    this->imaginary = 0;
};
template <class T>
complex<T>::~complex(){};
template <class T>
complex<T> complex<T>::operator+(complex<T> number)
{
    complex<T> temp;
    temp.real = this->real + number.real;
    temp.imaginary = this->imaginary + number.imaginary;
    return temp;
};
template <class T>
complex<T> complex<T>::operator-(complex<T> number)
{
    complex<T> temp;
    temp.real = this->real - number.real;
    temp.imaginary = this->imaginary - number.imaginary;
    return temp;
};
template <class T>
complex<T> complex<T>::operator*(complex<T> number)
{
    complex<T> temp;
    temp.real = this->real*number.real - this->imaginary*number.imaginary;
    temp.imaginary = this->real*number.imaginary + this->imaginary*number.real;
    return temp;
};
template <class T>
void complex<T>::show()
{
    cout<<this->real;
    if (imaginary > 0.0) cout<<"+";
    cout<<this->imaginary<<"i";
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2011, 14:36     Комплексные чилса
Посмотрите здесь:

C++ Комплексные числа
C++ Комплексные числа
Комплексные числа C++
Комплексные числа C++
C++ Комплексные числа
Комплексные числа C++
Комплексные числа C++
Комплексные числа в с++ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dihlofos
Бродяга
 Аватар для dihlofos
302 / 256 / 17
Регистрация: 27.08.2010
Сообщений: 553
24.05.2011, 15:28     Комплексные чилса #2
C++
1
T real, imaginary;
- real - действительная часть; imaginary - мнимая.

По второму вопросу - в вашем примере используются только целые числа. Но раз у вас определён шаблон класса, то вы сможете без труда использовать тип double:

C++
1
2
3
complex<double> number1(-7.5, 12.1);
complex<double> number2(9.4, -2.7);
complex<double> result;
Yandex
Объявления
24.05.2011, 15:28     Комплексные чилса
Ответ Создать тему
Опции темы

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