Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Текст программыТеоретическая справка. Комплексные числа – расширение множества вещественных чисел, обычно обозначается . Любое комплексное число может быть представлено как формальная сумма x+i*y, где x и y – вещественные числа, i – мнимая единица, при этом х – действительная часть, у – мнимая часть комплексного числа. =i. Действия над комплексными числами. · Сравнение a + b*i = c + d*i означает. Что a = c и b = d (два комплексных числа равны между собой тогда и только тогда когда равны их действительные и мнимые части) · Сложение (a + b*i) + (c + d*i) = (a + c) + (b + d)*i. · Вычитание (a + b*i) - (c + d*i) = (a - c) + (b - d)*i. · Умножение (a + b*i) (c + d*i) = ac + bc*i + ad*i + bd* = (ac – bd) + (bc+ad)*i. · Деление = + ()*i. · Если комплексное число z = x + i*y, то число = x – i*y называется сопряжённым (или комплексно сопряжённым) к z (обозначается также z*) Текст программы // Подключаем модули #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> #include <iostream> #include <fstream> using namespace std;
//--------------------------------------------------------------------------- // Класс "Комплексное число" Z = Re + Im * i class Complex { private: double Re; // Действительная часть комплексного числа double Im; // Мнимая часть комплексного числа double ro; //модуль double fi; //амплитуда
public: double A; double B; double C; // Конструктор класса без параметров Complex() { Re = 0.0; Im = 0.0; } // Конструктор класса с параметрами Complex(double re, double im) { Re = re; Im = im; } // Деструктор класса ~Complex() { } float SetRe(float); //координаты Re float SetIm(float); //координаты Im float Setro(float); //координаты ro float Setfi(float); //координаты fi float GetRe() //возвращает из класса значение Re {return Re;} float GetIm() //возвращает из класса значение Im {return Im;} float Getro() //возвращает из класса значение ro {return ro;} float Getfi() //возвращает из класса значение fi {return fi;} // Функция сложения void Addition(Complex A, Complex B) { Re = A.Re + B.Re; Im = A.Im + B.Im; } // Функция вычитания void Subtraction(Complex A, Complex B) { Re = A.Re - B.Re; Im = A.Im - B.Im; } // Функция умножения void Multiplication(Complex A, Complex B) {
Re = A.Re * B.Re - A.Im * B.Im; Im = A.Re * B.Im + A.Im * B.Re;
} // Функция деления void Division(Complex A, Complex B) { Re = (A.Re * B.Re + A.Im * B.Im) / (B.Re * B.Re + B.Im * B.Im); Im = (A.Im * B.Re - A.Re * B.Im) / (B.Re * B.Re + B.Im * B.Im); } // Функция поиска комплексного сопряженного числа Complex GetComplexConjugate() { Complex Z; Z.Re = Re; Z.Im = -Im; return Z; } // Функция поиска модуля комплексного числа double GetAbsoluteValue() { double Abs; Abs = sqrt(Re * Re + Im * Im); return Abs; }
//функция ввода чисел A B C void Input() { cout<<"A="; cin>>A; cout<<"B="; cin>>B; cout<<"C="; cin>>C; }
// Функция вывода комплексного числа void Show() { if(Re == 0.0 && Im == 0.0) { cout << " 0" << endl; return; } if(Re == 0.0) { if(Im > 0.0) cout << " " << Im << " * i" << endl;
return; } if(Im == 0.0) { if(Re > 0.0) cout << " " << Re << endl; else cout << Re << endl; return; } if(Re > 0.0) cout << " " << Re << " "; else cout << Re << " "; if(Im > 0.0) cout << "+ " << Im << " * i" << endl; } }; //--------------------------------------------------------------------------- // Перезагрузка операторов: +, -, *, / Complex operator + (Complex A, Complex B) { Complex Z; Z.Addition(A, B); return Z; } Complex operator - (Complex A, Complex B) { Complex Z; Z.Subtraction(A, B); return Z; } Complex operator * (Complex A, Complex B) { Complex Z; Z.Multiplication(A, B); return Z; } Complex operator / (Complex A, Complex B) { Complex Z; Z.Division(A, B); return Z; } //--------------------------------------------------------------------------- // Главная функция int main() { // Создаем объект A Complex A; // A = 0 + 0 * i, т.е. A = 0 A.Input(); // Выводим A.Show(); // число на экран system("Pause"); // и ждем нажатия любой клавиши
// Создаем объект B Complex B(-1, 2); // B = -1 + 2 * i B.Input(); // Выводим B.Show(); // число на экран system("Pause"); // и ждем нажатия любой клавиши
// Создаем объект C Complex C(3, -4); // C = 3 - 4 * i C.Input(); // Выводим C.Show(); // число на экран system("Pause"); // и ждем нажатия любой клавиши
// Складываем два числа A = B + C; // A = 2 - 2 * i cout << "A = B + C \n" << "A = "; // Выводим A.Show(); // полученное число на экран system("Pause"); // и ждем нажатия любой клавиши
// Вычитаем из одного числа другое A = B - C; // A = -4 + 6 * i cout << "A = B - C \n" << "A = "; // Выводим A.Show(); // полученное число на экран system("Pause"); // и ждем нажатия любой клавиши
// Перемножаем два числа A = B * C; // A = 5 + 10 * i cout << "A = B * C \n" << "A = "; // Выводим A.Show(); // полученное число на экран system("Pause"); // и ждем нажатия любой клавиши
// Делим одно число на другое A = B / C; // A = -11/25 + 2/25 * i cout << "A = B / C \n" << "A = "; // Выводим A.Show(); // полученное число на экран system("Pause"); // и ждем нажатия любой клавиши
// Создаем объект D Complex D = C.GetComplexConjugate(); // D - комплексно сопряженное к C cout << " _\nD = C \n" << "D = "; // Выводим D.Show(); // полученное число на экран system("Pause"); // и ждем нажатия любой клавиши // Вычислим модуль комплексного числа D double Abs = D.GetAbsoluteValue(); // Abs - модуль комплексного числа D cout << "Abs = |D|" << endl; // Выводим cout << "Abs = " << Abs << endl; // полученное число на экран system("Pause"); // и ждем нажатия любой клавиши
// Все в порядке - возвращаем ноль return 0; } //--------------------------------------------------------------------------- Тестовые примеры:
|