Advertisement
seld1

Untitled

May 12th, 2021
700
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.51 KB | None | 0 0
  1. Задание 4:
  2. Разработайте структуру, описывающую комплексное число. Разработайте функции, выполняющие с комплексными числами четыре арифметические операции (+, -, *, /). Введите два комплексных числа и знак операции. Выведите результат.
  3.  
  4. Код:
  5. // Задание 4.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.
  6. //
  7.  
  8. #include <iostream>
  9. #include <Windows.h>
  10. using namespace std;
  11. struct ComplexNumber {
  12.     float RE;
  13.     float IM;
  14. };
  15. ComplexNumber Plus(ComplexNumber a, ComplexNumber b)
  16. {
  17.     ComplexNumber Res;
  18.     Res.IM = a.IM + b.IM;
  19.     Res.RE = a.RE + b.RE;
  20.     return Res;
  21. }
  22. ComplexNumber Minus(ComplexNumber a, ComplexNumber b)
  23. {
  24.     ComplexNumber Res;
  25.     Res.IM = a.IM - b.IM;
  26.     Res.RE = a.RE - b.RE;
  27.     return Res;
  28. }
  29. ComplexNumber Multiple(ComplexNumber a, ComplexNumber b)
  30. {
  31.     ComplexNumber Res;
  32.     Res.IM = a.RE * b.RE - a.IM * b.IM;
  33.     Res.RE = a.RE * b.RE + a.IM * b.RE;
  34.     return Res;
  35. }
  36. ComplexNumber Devide(ComplexNumber a, ComplexNumber b)
  37. {
  38.     ComplexNumber Res;
  39.     Res.RE = (a.RE * b.RE + a.IM * b.IM) / (b.RE * b.RE + b.IM * b.IM);
  40.     Res.IM = (a.IM * b.RE - a.RE * b.IM) / (b.RE * b.RE + b.IM * b.IM);
  41.     return Res;
  42. }
  43.  
  44. int main()
  45. {
  46.     setlocale(LC_ALL, "Russian"); SetConsoleCP(1251); SetConsoleOutputCP(1251);
  47.     ComplexNumber a, b, res;
  48.     char command;
  49.     cout << "Введите действительную часть 1ого числа:"; cin >> a.RE;
  50.     cout << "Введите мнимую часть 1ого числа:"; cin >> a.IM;
  51.     cout << "Введите действительную часть 2ого числа:"; cin >> b.RE;
  52.     cout << "Введите мнимую часть 2ого числа:"; cin >> b.IM;
  53.     cout << "Введите знак действия (+,-,*,/):"; cin >> command;
  54.     switch (command)
  55.     {
  56.     case '+':
  57.         res= Plus(a, b);
  58.         break;
  59.     case '-':
  60.         res= Minus(a, b);
  61.         break;
  62.     case '*':
  63.         res= Multiple(a, b);
  64.         break;
  65.     case '/':
  66.         res= Devide(a, b);
  67.         break;
  68.     }
  69.     cout << endl << "Результат:"<<endl;
  70.     cout << "Действительная часть:" <<res.RE;
  71.     cout << endl << "Мнимая часть:" <<res.IM;
  72.  
  73. }
  74.  
  75.  
  76.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement