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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ почему не показывает результат в консоле? http://www.cyberforum.ru/cpp-beginners/thread1038680.html
#include <iostream> #include <сtime> using namespace std; int main() { setlocale(LC_ALL, "rus"); const int array = 5; const int size = 3; int mas; int sum = 0;
C++ в чем ошибка,как довести до ума Дан массив чисел В. Найти сумму положительных и отрицательных чисел массива с нечетными индексами и количество элементов массива равных нулю //--------------------------------------------------------------------------- http://www.cyberforum.ru/cpp-beginners/thread1038679.html
Кодирование Хаффмана C++
По курсовой работе задали реализовать метод кодирования Хаффмана, но как это сделать, я, к сожалению, сам додуматься не смог, поэтому начал разбираться с исходником, который нашел на этом форуме, я практически всё понял, но у меня возникло несколько вопросов. Вот код: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> struct sym //структуры или записи { ...
C++ Задан массив A размером n. Разместить наименьший элемент на первом месте, наименьший среди остальных - на последнем
Привет всем! Прошу помочь новичку с задачкой. Задан массив A размером n. Разместить наименьший элемент на первом месте, наименьший среди остальных - на последнем, наименьший среди остальных - на втором месте, наименьший среди остальных - на предпоследнем и т.д. Заранее спасибо=)
C++ в строке cout«num[t][i]; ошибка как исправить? http://www.cyberforum.ru/cpp-beginners/thread1038658.html
в строке cout«num; ошибка #include <iostream> using namespace std; int main() { int t,i, num; /* загрузка чисел */ for(t=0; t<5; ++t) for (i=0; i<3; ++i)
C++ С++. В одномерном массиве А, состоящем из 20 целых элементов, вычислить: 1)сумму элементов массива, расположенных между первым и последним отрицательными элементами 2)получить новый массив целых чисел В, в котором каждый элемент равен разности его соседних элементов в исходном массиве подробнее

Показать сообщение отдельно
1_vlad
0 / 0 / 0
Регистрация: 01.04.2013
Сообщений: 49
12.12.2013, 15:41     Операции над комплексными числами
В данной программе нужно создать дружескую функцию класса Komplex. Таким образом чтобы читалась строка с5=2+с1. Как это правильно сделать??

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
137
138
139
#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 );
        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;
    re = re + rhs.re;
    im = 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 q, w;
    re = re - rhs.re;
    im = 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 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 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 d = rhs.re*rhs.re + rhs.im*rhs.im;
    double re1 = (re*rhs.re+im*rhs.im)/d;
    double im1 = (rhs.re*im-re*rhs.im)/d;
    re = re1;
    im = im1;
 
    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 << "+(" << rhs.im << ")i\n";
    else fo << rhs.re << "+" << rhs.im << "i\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;  //1
    cin >> c2;  //4
    cin >> c3;  //2
    cin >> c4;  //6
    cin >> c5;  //9
 
    cout << "\nc1 = " << c1;
    cout << "c2 = " << c2;
    cout << "c3 = " << c3;
    cout << "c4 = " << c4;
    cout << "c5 = " << c5 << '\n';
 
    cout << "c1 + c2 = " << (c1 + c2);
    cout << "c1 - c3 = " << (c1 - c3);
    cout << "c1 * c4 = " << (c1 * c4);
    cout << "c1 / c5 = " << (c1 / c5);
    c5=2+c1;
 
    //getch();
   return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru