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

Классы и объекты (комплексные числа) - C++

Восстановить пароль Регистрация
 
besapalovvv
0 / 0 / 0
Регистрация: 09.01.2013
Сообщений: 10
10.01.2013, 20:38     Классы и объекты (комплексные числа) #1
Объект «комплексные числа». Операции определяются по обще принятым формулам. Предусмотреть возможность операции присваивания, сложения, умножения и перевода в показательную ( ) форму с возможностью распечатки на консоль. Конструктор должен позволить создавать объекты без и с начальной инициализацией.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2013, 20:38     Классы и объекты (комплексные числа)
Посмотрите здесь:

классы и объекты C++
C++ объекты и классы
C++ классы.комплексные числа
классы и объекты в с++ C++
Классы и объекты C++
Классы, комплексные числа и перегрузка оператора C++
Классы и объекты C++
Классы, комплексные числа, возможность записи comp(3+2.2i) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
11.01.2013, 11:10     Классы и объекты (комплексные числа) #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
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
#include <iostream>
#include <cmath>
 
class Complex
{
public:
    Complex() : a_(0), b_(0)
    {
        CalculateExp();
    }
    Complex(double const a, double const b) : a_(a), b_(b)
    {
        CalculateExp();
    }
    void Set(double const a, double const b)
    {
        a_ = a;
        b_ = b;
        CalculateExp();
    }
    void SetExp(double const modulus, double const angle) // угол вводить в  градусах
    {
        modulus_ = modulus;
        angle_ = angle * pi / 180;
        Calculate();
    }
    friend Complex const operator+(Complex const& a, Complex const& b)
    {
        return Complex(a.a_ + b.a_, a.b_ + b.b_);
    }
    friend Complex const operator*(Complex const& a, Complex const& b)
    {
        return Complex(a.a_ * b.a_ - a.b_ * b.b_, a.a_ * b.b_ + a.b_ * b.a_);
    }
    std::ostream& Print(std::ostream& ost = std::cout) const
    {
        return ost << '(' << a_ << ',' << b_ << ')';
    }
    std::ostream& PrintExp(std::ostream& ost = std::cout) const
    {
        return ost << '(' << modulus_ << " E " << angle_ * 180 / pi << ')';
    }
    static const double pi;
private:
    double a_, b_, modulus_, angle_;
    void CalculateExp()
    {
        modulus_ = sqrt(pow(a_, 2) + pow(b_, 2));
        angle_ = atan(b_ / a_);
        if(a_ < 0)
            angle_ += pi;
    }
    void Calculate()
    {
        a_ = modulus_ * cos(angle_);
        b_ = modulus_ * sin(angle_);
    }
};
 
double const Complex::pi = 3.14159265359;
 
int main()
{
    Complex n1(1,1), n2(-2,2), n3;
    n3 = n1 * n2;
    //n3.Set(-2, 2);
    //n3.SetExp(3, -180);
    n3.Print() << std::endl;
    n3.PrintExp() << std::endl;
    return 0;
}
Yandex
Объявления
11.01.2013, 11:10     Классы и объекты (комплексные числа)
Ответ Создать тему
Опции темы

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