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

Операции над комплексными числами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Передача массива через указатель в шаблонную функцию http://www.cyberforum.ru/cpp-beginners/thread1032182.html
Здравствуйте. В общем есть шаблонный класс List, который является двусвязным списком: template <class Type> class List { private: class ListItem { public:
C++ задание на стандартную библиотеку С++ STL Доброго времени суток. Задание на Объекты-функции. Найти количество элементов, больших своих левых соседей, с помощью for_each . http://www.cyberforum.ru/cpp-beginners/thread1032156.html
VC++2010 не могу открыть ресурсы C++
Снова обращаюсь к уважаемому обществу. На этот раз проблема такая (VS2010 Professional, консольное приложение). Включил текстовый файл .txt в ресурсы. Написал такой доступ к нему (ниже). Однако никак такой код не хочет находить мой ресурс, сразу уходит на сообщение "Ресурс не найден". Т.е. функция FindResource возвращает не имя ресурса, а NULL. Что надо сделать, чтобы ресурс был найден и можно...
C++ Работа с файлами
Добрый вечер! Помогите, есть какая - то лажа: код компилится но консоль виснет и в файл ничего не записывается. #include <fstream> #include <iostream> #include <string>
C++ Дописать код http://www.cyberforum.ru/cpp-beginners/thread1032150.html
Здравствуйте уважаемые. Помогите пожалуйста. Не могу понять как в данный код дописать еще три логина и три пароля. Вот условия по котором написан код: Дан массив символов a , в котором в каждой строке первые 6 символов - имя пользователя, остальные 4 - пароль. Требуется написать программу, в которой при вводе логина и пароля, которые совпадают, происходит вывод на экран сообщение, что...
C++ Шифрование методов Виженера ДЛЯ РУССКИХ БУКВ Ребят, спасайте) Может остались у кого рабочие исходники данного шифра? Буду просто крайне признателен. Шифр по ниже представленной таблице подробнее

Показать сообщение отдельно
1_vlad
0 / 0 / 0
Регистрация: 01.04.2013
Сообщений: 49
07.12.2013, 18:24     Операции над комплексными числами
Дано вот такое задание:
Написать программу на языке C++, реализующую арифметику комплекс-
ных чисел. Должны быть как минимум определены операторы +, +=, -,
-=, *, *=, /, /=, = , допускающие построение арифметических выраже-
ний в том виде, в каком они справедливы для double, а также позволяющие
в одном выражении смешивать комплексные и вещественные числа. Опре-
делите функции arg,mod, Re, Im.
Предусмотреть возможность печати комплексных чисел любым удобным
способом.
Текстовымпредставлениемкомплексного числа считать строки вида a±bi,
где a, b — представления чисел типа double.

Моя программа, но она не считает должным образом, в чем подвох?
C++ (Qt)
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
#include <iostream>
#include <cstring>
#include <cmath>
#include <cstdlib>
using namespace std;
 
class Komplex{
    public:
        Komplex() {}
        Komplex(double r);// {re = 0; im = 0;}
        Komplex(double r, double i) { re = r, im = i; }
        ~Komplex() {}
double real () const {return re; }
 
double imag () const {return im; }
        //double arg () const {return arg; }
        //double mod () const {return mod; }
        Komplex& operator +( const Komplex &rhs );
        Komplex& operator +=( const Komplex &rhs);
        Komplex& operator -( const Komplex &rhs );
        Komplex& operator -=( const Komplex &rhs );
        Komplex& operator *( const Komplex &rhs );
        Komplex& operator *=( const Komplex &rhs );
        Komplex& operator /( const Komplex &rhs );
        Komplex& operator /=( const Komplex &rhs );
        Komplex& operator =( const Komplex &rhs );
        friend ostream &operator <<(ostream &, Komplex &);
        friend istream &operator >>(istream &, Komplex &);
    private:
        double re;
        double im;
};
//double Komplex::re;
//double Komplex::im;
Komplex& Komplex::operator +( const Komplex &rhs )
{
    double e, r;
    e = re + rhs.re;
    r = im + rhs.im;
    return *this;
}
 
/*Komplex& Komplex::operator +=( const Komplex &rhs )
{
   re += rhs.re; im += rhs.im;
   return rhs;
}*/
Komplex& Komplex::operator -( const Komplex &rhs )
{
    double q, w;
    q = re - rhs.re;
    w = im - rhs.im;
    return *this;
}
Komplex& Komplex::operator -=( const Komplex &rhs )
{
    re -= rhs.re; im -= rhs.im; return *this;
}
Komplex& Komplex::operator *( const Komplex &rhs )
{
    double i, j;
    i = re * rhs.re - im * rhs.im;
    j = re * rhs.im + rhs.re * im;
    return *this;
}
Komplex& Komplex::operator *=( const Komplex &rhs )
{
    double tmp = re*rhs.re-im*rhs.im;
    im = im*rhs.re+re*rhs.im;
    re = tmp;
    return *this;
}
Komplex& Komplex::operator /( const Komplex &rhs )
{
    double a,b,c;
    a = rhs.re * rhs.re + rhs.im * rhs.im;
    b = (re * rhs.re + im * rhs.im) / a;
    c = (rhs.re * im - re * rhs.im) / a;
 
    return *this;
}
Komplex& Komplex::operator /=( const Komplex &rhs )
{
    double denom = rhs.re*rhs.re + rhs.im*rhs.im;
    double re1 = (re*rhs.re+im*rhs.im)/denom;
    double im1 = (rhs.re*im-re*rhs.im)/denom;
    re = re1;
    im = im1;
    return *this;
}
Komplex& Komplex::operator =( const Komplex &rhs )
{
    re = rhs.re; im = rhs.im; return *this;
}
ostream &operator << (ostream &fo, Komplex &rhs)
    {
    if (rhs.im < 0) fo << rhs.re << "+i(" << rhs.im << ")\n";
    else fo << rhs.re << "+i" << rhs.im << "\n";
 
    return fo;
    }
istream &operator >>(istream &fi, Komplex &rhs)
    {
    cout << "Enter Real: ";
    fi >> rhs.re;
    cout << "Enter Image: ";
    fi >> rhs.im;
    return fi;
    }
 
int main()
{
   //clrscr();
    Komplex c1, c2, c3, c4, c5;
    cin >> c1;
    cin >> c2;
    cin >> c3;
    cin >> c4;
    cin >> c5;
 
    cout << "\nc1 = " << c1;
    cout << "c2 = " << c2;
    cout << "c3 = " << c3;
    cout << "c4 = " << c4;
    cout << "c5 = " << c5 << '\n';
 
//  cout << "Модуль c1: " << c1.abs() << "\n\n";
 
    cout << "c1 + c2 = " << (c1 + c2);
    cout << "c1 - c3 = " << (c1 - c3);
    cout << "c1 * c4 = " << (c1 * c4);
    cout << "c1 / c5 = " << (c1 / c5);
 
    //getch();
   return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru