4 / 1 / 1
Регистрация: 27.09.2018
Сообщений: 32
1

Классы в C++ (Исправление ошибок)

03.03.2019, 00:59. Показов 1111. Ответов 1
Метки нет (Все метки)

Помогите разобраться с кодом пожалуста. Не могу разобраться, что надо исправить.

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
87
88
89
90
91
92
93
94
#include "pch.h"
#include <iostream>
#include <assert.h>
 
using namespace std;
 
// класс для работы с комплексными числами
class complex
{
    // re - действительная, im - мнимая части компексного числа
    double re, im;
    public:
    // конструктор
        complex(double = 0, double = 0);
    // деструктор
        ~complex();
    // перегруженыё операции
        complex operator + (complex&);
        complex operator - (complex&);
        complex operator * (complex&);
        complex operator / (complex&);
        complex operator ^ (unsigned);
        friend istream& operator>>(istream&, complex&);
        friend ostream& operator>>(ostream&, complex&);
};
 
complex::complex(double r, double i) 
{
    re = r;
    im = i;
}
complex::~complex( ) { }
 
complex complex::operator*(complex& y)
{
    return complex(re + y.re, im + y.im);
}
complex complex::operator-(complex& y)
{
    return complex(re - y.re, im - y.im);
}
complex complex::operator*(complex& y)
{
    return complex(re * y.re - im * y.im, re * y.re + im * y.im);
}
complex complex::operator/(complex& y)
{
    double r1 = re;
    double i1 = im;
    double r2 = y.re;
    double i2 = y.im;
    return complex((r1*r2 - i1 * i2) / (r2*r2 + i2 * i2), (-r1 * i2 + i1 * r2) / (r2*r2 + i2 * i2));
}
complex complex::operator^(unsigned n)
{
    complex y(1, 0);
    for (int i = 1; i <= n; i++)
        y = y * (*this);
    return y;
}
 
istream& operator>>(istream& is, complex& x)
{
    char c;
    cin >> c;
    assert(c == '(');
    cin >> x.re;
    cin >> c;
    assert(c == ',');
    cin >> x.im;
    cin >> c;
    assert(c == ')');
    return is;
}
ostream& operator<<(ostream& os, complex& x)
{
    os << '(' << x.re << ',' << x.im << ')' << endl;
    return os;
}
 
// главная функция
void main()
{
    // объекты класса
    complex a(1, 1);
    complex b(1, 1);
    complex c(1, 1);
    complex x;
    //ввода объекта с клавиатуры
    cout << "Введите комплексное число в формате:(re, im)->";
    cin >> x;
    //вычисления выражения над комплексными числами и вывод результата на экран
    cout << "Результат = " << a* (x ^ 2) + b * x + c << endl;
}
Классы в C++ (Исправление ошибок)
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2019, 00:59
Ответы с готовыми решениями:

Классы в C++ (Исправление ошибок)
Помогите разобраться с кодом. Не могу разобраться, что я делаю не так. class book { private:...

Исправление ошибок
Дано 100 вещественных чисел. Определить, образуют ли они возрастающую последовательность....

Исправление ошибок
Какие ошибки есть в следующем коде? for (int i =О: i &lt;= phrase.size(): ++i) { cout «...

Исправление ошибок
Пожалуйста помогите исправить ошибки!!! #include &lt;iostream h&gt; #include &lt;stdlib h&gt; int main()...

1
Мозгоправ
1736 / 1030 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
03.03.2019, 02:14 2
Лучший ответ Сообщение было отмечено will123456 как решение

Решение

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
//#include "pch.h"
#include <iostream>
#include <assert.h>
 
using namespace std;
 
// класс для работы с комплексными числами
class complex {
    // re - действительная, im - мнимая части компексного числа
    double re, im;
public:
    // конструктор
    complex(double = 0, double = 0);
    // деструктор
    ~complex();
    // перегруженыё операции
    complex operator + (const complex&);
    complex operator - (const complex&);
    complex operator * (const complex&);
    complex operator / (const complex&);
    complex operator ^ (unsigned);
    friend istream& operator>>(istream&, complex&);
    friend ostream& operator<<(ostream& os, const complex& x);
};
 
complex::complex(double r, double i) {
    re = r;
    im = i;
}
complex::~complex() {}
 
complex complex::operator+(const complex& y) {
    return complex(re + y.re, im + y.im);
}
complex complex::operator-(const complex& y) {
    return complex(re - y.re, im - y.im);
}
complex complex::operator*(const complex& y) {
    return complex(re * y.re - im * y.im, re * y.re + im * y.im);
}
complex complex::operator/(const complex& y) {
    double r1 = re;
    double i1 = im;
    double r2 = y.re;
    double i2 = y.im;
    return complex((r1*r2 - i1 * i2) / (r2*r2 + i2 * i2), (-r1 * i2 + i1 * r2) / (r2*r2 + i2 * i2));
}
complex complex::operator^(unsigned n) {
    complex y(1, 0);
    for (unsigned i = 1; i <= n; i++)
        y = y * (*this);
    return y;
}
 
istream& operator>>(istream& is, complex& x) {
    char c;
    cin >> c;
    assert(c == '(');
    cin >> x.re;
    cin >> c;
    assert(c == ',');
    cin >> x.im;
    cin >> c;
    assert(c == ')');
    return is;
}
ostream& operator<<(ostream& os, const complex& x) {
    os << '(' << x.re << ',' << x.im << ')' << endl;
    return os;
}
 
// главная функция
int main() {
    // объекты класса
    complex a(1, 1);
    complex b(1, 1);
    complex c(1, 1);
    complex x;
    //ввода объекта с клавиатуры
    cout << "Введите комплексное число в формате:(re, im)->";
    cin >> x;
    //вычисления выражения над комплексными числами и вывод результата на экран
    cout << "Результат = " << a * (x ^ 2) + b * x + c << endl;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.03.2019, 02:14
Помогаю со студенческими работами здесь

Исправление ошибок
Помогите разобраться, в чём моя ошибка. Не хочет компилировать. #include &lt;iostream&gt; #include...

Исправление ошибок
Есть такая программка, которая должна считать значения из файла типа float, записать массив и лать...

Исправление ошибок
Помогите запустить программу #include &lt;iostream.h&gt; #include &lt;stdlib.h&gt; #include &lt;fstream.h&gt; int...

Исправление ошибок в C++
Всем доброго времени суток! У меня появился такой вопрос, есть ли в Visual Studio 8 или 10 такая...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru