Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 25.02.2018
Сообщений: 17
1

Разработать класс комплексных чисел

16.11.2018, 01:48. Показов 5897. Ответов 0

Author24 — интернет-сервис помощи студентам
Разработать класс комплексных чисел, переопределить четыре арифметических действия и операцию сравнения. В основной программе проверить корректность. Создать массив комплексных чисел, длину массива задать с экрана. Найти число элементов массива, отличных от деления первого числа на последнее.
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
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
140
141
#include <iostream>
#include <cmath>
 
using namespace std;
 
class Complex
{
  private:
    double real;    // Действительная часть
        double image;   // Мнимая часть
    public:
        Complex() {};   // Конструктор по умолчанию
        Complex(double r) { real = r; image = 0; } // Конструктор
        Complex(double r, double i) { real = r, image = i; }    // Конструктор
        ~Complex() {}   // Деструктор
        double abs()   // Модуль комплексного числа
        {
            return sqrt(pow(real, 2.0) - pow(image, 2.0));
        }
 
        Complex operator+(Complex &);   // Перегрузка оператора сложения
        Complex operator-(Complex &);   // Перегрузка оператора вычитания
        Complex operator*(Complex &);   // Перегрузка оператора умножения
        Complex operator/(Complex &);   // Перегрузка оператора деления
    bool operator == (Complex & val)
    {
      if ((this->real == val.real) && (this->image == val.image))
      {
        return true;
      }
      else
      {
        return false;
      }
    }
    bool operator != (Complex & val)
    {
      if ((this->real == val.real) && (this->image == val.image))
      {
        return false;
      }
      else
      {
        return true;
      }
    }
 
        // Перегрузка функции-оператора << для вывода класса Complex
        friend ostream &operator<<(ostream &, Complex &);
 
        // Перегрузка функции-оператора >> для ввода класса Complex
        friend istream &operator>>(istream &, Complex &);
    };
 
// Перегрузка +
Complex Complex::operator+(Complex &fp1)
    {
    fp1.real = real + fp1.real;
    fp1.image = image + fp1.image;
    return fp1;
    }
 
// Перегрузка -
Complex Complex::operator-(Complex &fp1)
    {
    fp1.real = real - fp1.real;
    fp1.image = image - fp1.image;
    return fp1;
    }
 
// Перегрузка *
Complex Complex::operator*(Complex &fp1)
    {
    double i, j;
    i = real * fp1.real - image * fp1.image;
    j = real * fp1.image + fp1.real * image;
    fp1.real = i;
    fp1.image = j;
    return fp1;
    }
 
// Перегрузка /
Complex Complex::operator/(Complex &fp1)
    {
    double k, i, j;
    k = fp1.real * fp1.real + fp1.image * fp1.image;
    i = (real * fp1.real + image * fp1.image) / k;
    j = (fp1.real * image - real * fp1.image) / k;
    fp1.real = i;
    fp1.image = j;
    return fp1;
    }
 
 
// Перегрузка оператора >>
istream &operator>>(istream &fi, Complex &fp)
    {
    cout << "Введите действительную часть: ";
    fi >> fp.real;
    cout << "Введите мнимую часть: ";
    fi >> fp.image;
    return fi;
    }
 
int main()
{
    setlocale(LC_ALL,"russian");
 
    // Комплексные числа
    Complex c1, c2;
 
    // Ввод комплексных чисел
    cin >> c1;
    cin >> c2;
 
    // Вывод комплексных чисел
    cout << "\nc1 = " << c1;
    cout << "c2 = " << c2;
    if (c1 == c2)
    {
      cout << "c1 = c2\r\n";
    }
    if (c1 != c2)
    {
      cout << "c1 != c2\r\n";
    }
    cout << "Модуль c1: " << c1.abs() << "\n\n";
 
    // Вывод результатов операций
    cout << "c1 + c2 = " << (c1 + c2);
    cout << "c1 - c2 = " << (c1 - c2);
    cout << "c1 * c2 = " << (c1 * c2);
    cout << "c1 / c2 = " << (c1 / c2);
 
  getchar();
  getchar();
  getchar();
 
  return 0;
 
}
что то делаю , но не получается
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.11.2018, 01:48
Ответы с готовыми решениями:

Класс комплексных чисел
Сейчас начал изучение классов. Придумал себе задачку: написать класс комплексных чисел. Пока...

Класс комплексных чисел
Привет))) Пожалуйста, помогите мне создать эту программу!) Я буду вам благодарна) Разработать...

Класс Комплексных Чисел
Здравствуйте, попробовал тут написать класс комплексных чисел, но пишет ошибку error: statement...

Класс комплексных чисел
Помогите пожалуйста реализовать (без использования &lt;complex&gt;) класс комплексных чисел с простейшими...

0
16.11.2018, 01:48
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.11.2018, 01:48
Помогаю со студенческими работами здесь

Класс комплексных чисел
Класс комплексных чисел, стандартные операции, перегрузка ввода-вывода. С вводом-выводом проблемы....

Класс комплексных чисел
Нужно создать программу (два класса) Класс комплексных чисел Базовый класс (мнимых чисел):...

Класс комплексных чисел
Здравствуйте, уважаемые форумчане. Нужна ваша помощь. У кого есть свободное время, то помогите...

Класс комплексных чисел
Задание : Комплексные числа описываются структурой вида: Преобразовать структуру в класс,...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Как скрыть клавиатуру на Android
hw_wired 24.01.2025
При разработке Android-приложений часто возникает необходимость управлять видимостью экранной клавиатуры для улучшения пользовательского опыта. Одним из наиболее эффективных способов контроля. . .
Как обучить нейросеть создания картинок на Python
bytestream 24.01.2025
В эпоху цифровых технологий искусственный интеллект становится неотъемлемой частью творческого процесса. Особое место в этой области занимает разработка и обучение нейронных сетей для создания. . .
Как обучить нейросеть генерации текста на Python
bytestream 24.01.2025
В современном мире искусственный интеллект и машинное обучение становятся неотъемлемой частью многих технологических решений. Одной из наиболее интересных и востребованных задач в этой области. . .
Машинное обучение на Python
bytestream 24.01.2025
Введение в машинное обучение на Python Машинное обучение представляет собой одну из наиболее динамично развивающихся областей информационных технологий, которая позволяет компьютерным системам. . .
Как удалить вирус-майнер с компьютера
hw_wired 24.01.2025
Вирусы-майнеры стали одной из наиболее серьезных угроз для пользователей компьютеров. Эти вредоносные программы тайно используют вычислительные ресурсы зараженного устройства для добычи криптовалюты. . .
Что такое веб-сервер, для чего он нужен и как работает
bytestream 24.01.2025
В современную эпоху цифровых технологий веб-сервер является фундаментальным компонентом интернет-инфраструктуры, обеспечивающим функционирование множества онлайн-сервисов и веб-сайтов. Этот. . .
Как в цикле for перебрать все элементы в словаре в Python
bytestream 24.01.2025
Словари в Python представляют собой мощные структуры данных, которые позволяют хранить информацию в формате ключ-значение. Эта особенность делает их незаменимыми при работе с данными, где требуется. . .
Как отменить rebase в Git
hw_wired 24.01.2025
Git rebase представляет собой мощный инструмент для управления историей коммитов в системе контроля версий Git. Этот механизм позволяет разработчикам изменять последовательность, комбинировать или. . .
Как поменять цвет input placeholder с помощью CSS
bytestream 24.01.2025
В веб-разработке оформление элементов пользовательского интерфейса играет ключевую роль в создании привлекательного и интуитивно понятного дизайна. Особое внимание уделяется формам ввода данных, где. . .
Как перебрать все значения в перечислении (enum) в C#
bytestream 24.01.2025
Перечисление (enum) в языке программирования C# представляет собой специальный тип данных, который позволяет определить набор именованных констант. Этот мощный инструмент особенно полезен, когда. . .
Как обойтись без проверки на null, чтобы избежать NullPointerExce­ption в Java
bytestream 24.01.2025
NullPointerException (NPE) является одним из самых распространенных исключений в Java, создающих серьезные проблемы при разработке программного обеспечения. Данное исключение возникает при попытке. . .
Что лучше использовать в href ссылок в JavaScript: "#" или "javascript:voi­­d(0)­"
bytestream 24.01.2025
При разработке веб-приложений важную роль играет правильное использование HTML-ссылок в сочетании с JavaScript. Одним из ключевых аспектов является выбор корректного значения атрибута href для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru