0 / 0 / 0
Регистрация: 17.09.2019
Сообщений: 20
1

На основе массива mas комплексных чисел создать массив mas1, содержащий числа из массива mas, у которых sum re && im > 0

24.03.2020, 18:00. Показов 424. Ответов 0

На основе массива mas комплексных чисел создать массив mas1, содержащий числа из массива mas, у которых сумма мнимой и действительной части положительна. Программа работает, но почему-то выводит все числа из прошлого массива. Задача состоит в том, чтобы обязательно использовать перегрузки. Без перегрузок делал эту же программу - всё работало. Помогите пожалуйста.

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
95
96
97
98
99
100
101
102
#include <iostream>
#include <cmath>
#define nmax 20
 
using namespace std;
 
// Вариант 21. На основе массива mas комплексных чисел создать массив mas1, 
// содержащий числа из массива mas, у которых сумма мнимой и действительной части положительна.
 
class Complex 
{
private:
    double re;
    double im;
 
public:
    Complex()
    {
        re = 0;
        im = 0;
    }
 
    Complex(double a, double b)
    {
        re = a;
        im = b;
    }
    // Перегрузка операции вывода в поток ostream
    friend ostream& operator<<(ostream& out, Complex a)
    {
        if (a.im < 0) out << a.re << a.im << "i";
        else out << a.re << "+" << a.im << "i";
        return out; 
    }
    // Перегрузка операции ввода из потока istream
    friend istream& operator>>(istream& in, Complex& a)
    {
        cout << "Input re:  "; in >> a.re;
        cout << "Input im:  "; in >> a.im;
        return in;
    }
 
    // Перегрузка оператора >
    bool operator> (Complex& a)
    {
        return (re > a.re);
    }
    // Перегрузка оператора +
    int operator+ (Complex& a)
    {
        return (re + a.re && im + a.im);
    }
};
 
int main()
{
    
    Complex mas[nmax];
    Complex* mas1;
 
    // Заполнение массива
    int n; cin >> n;
    
    for (int i = 0; i < n; i++)
    {
        cin >> mas[i];
        cout << mas[i];
        cout << endl;
    }
 
    
    // Определение размера нового массива
    int k = 0;
    for (int i = 0; i < n; i++)
        if (mas[i] + mas[i] > 0) 
        {
            k++;
        }
 
    mas1 = new Complex[k];
 
    // Поиск элементов, у которых сумма мнимой и действительной части положительна
    int j = 0;
    for (int i = 0; i < n; i++)
    {
        if (mas[i] + mas[i] > 0)
        {
            mas1[j] = mas[i];
            j++;
        }
    }
 
    cout << "Output mas1: ";
    for (int j = 0; j < n; j++)
    {
        cout << mas1[j] << " ";
    }
    cout << endl;
 
    delete[]mas1;
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.03.2020, 18:00
Ответы с готовыми решениями:

из заданного одномерного массива mas[N] формирует новый массив mas из полусумм двух соседних элементов исходно
из заданного одномерного массива mas формирует новый массив mas из полусумм двух соседних элементов...

Если элемент массива mas[0,i] входит в строку ss, то переменной string bla присваиваем значение mas[1,i]
надо выполнить следующее - если элемент массива mas входит в строку ss, то переменной string bla...

Массив: Составить из исходного новый массив - n последних элементов mas+mas+n первых элементов mas
Дан массив mas. Нужно составить из него новый массив- n последних элементов mas+mas+n первых...

Определите булевскую функцию f(x, mas), которая проверяет, входит ли элемент x в массив mas
Определите булевскую функцию f(x, mas), которая проверяет,входит ли элемент x в массив mas. это ...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.03.2020, 18:00

Массив, в котором будут числа из массива mas, которые делятся на 3, возведенные в квадрат
Напишите одну строчку кода, которая из массива целых чисел mas сделает массив, в котором будут...

Даны два массива: mas1 [N] и mas2 [M]. Создать третий массив, в который переписать элементы массива mas1, а затем mas2
Ребят вот код,как можно вывести без cout int main() { srand(time(NULL)); int...


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

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

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