private static void ComplexStructDemonstration() { Console.Clear(); Console.WriteLine("\t\tДемонстрация работы структуры ComplexS\n"); ComplexS complex1; complex1.re = 1; complex1.im = 1; ComplexS complex2; complex2.re = 2; complex2.im = 2; ComplexS result = complex1.Plus(complex2); Console.Write($"\tСкладываем {complex1.ToString} и {complex2.ToString} получается: "); Console.WriteLine(result.ToString); Console.ReadKey(); result = complex1.Multi(complex2); Console.Write($"\tПеремножаем {complex1.ToString} и {complex2.ToString} получается: "); Console.WriteLine(result.ToString); Console.ReadKey(); // Демонстрация метода вычитания комплексных чисел. result = complex1.Minus(complex2); Console.Write($"\tРазность чисел {complex1.ToString} и {complex2.ToString} равняется: "); Console.WriteLine(result.ToString); Console.ReadKey(); }
// в C# в структурах могут храниться также действия над данными public ComplexS Plus(ComplexS x) { ComplexS y; y.im = im + x.im; y.re = re + x.re; return(y); }
/// <summary> /// Метод вычитания комплексных чисел. /// </summary> public ComplexS Minus(ComplexS x) { ComplexS y; y.im = im - x.im; y.re = re - x.re; return(y); }
// Пример произведения двух комплексных чисел public ComplexS Multi(ComplexS x) { ComplexS y; y.im = re * x.im + im * x.re; y.re = re * x.re - im * x.im; return(y); }
public ComplexS Addition(ComplexS number) { ComplexS res; res.re_ = re_ + number.re_; res.im_ = im_ + number.im_; return(res); }
public ComplexS Subtraction(ComplexS number) { ComplexS res; if (re_ > number.re_ && im_ > number.im_) { res.re_ = re_ - number.re_; res.im_ = im_ - number.im_; return(res); } res.re_ = number.re_ - re_; res.im_ = number.im_ - im_; return(res); }
static void Main(string[] args) { string a = "1+1i+2+2i"; string[] b = a.Split('+'); for (int i = 0; i < b.Length; i++) { if (b[i].Length == 2) { b[i] = b[i].Remove(1); } } ComplexS comp = new ComplexS(double.Parse(b[0]), double.Parse(b[1])); ComplexS comp2 = new ComplexS(double.Parse(b[2]), double.Parse(b[3])); Console.WriteLine("Структура"); Console.WriteLine("Сложение: " + comp.Addition(comp2).ToString()); Console.WriteLine("Вычитание: " + comp.Subtraction(comp2).ToString()); //б) Дописать класс Complex, добавив методы вычитания и произведения чисел. Проверить работу класса; Complex comp3 = new Complex(double.Parse(b[0]), double.Parse(b[1])); Complex comp4 = new Complex(double.Parse(b[2]), double.Parse(b[3])); Console.WriteLine("Класс"); Console.WriteLine("Умножение: " + comp3.Multiplication(comp4).ToString()); Console.WriteLine("Вычитание: " + comp3.Subtraction(comp4).ToString()); //2. //С клавиатуры вводятся числа, пока не будет введен 0(каждое число в новой строке). //Требуется подсчитать сумму всех нечетных положительных чисел. //Сами числа и сумму вывести на экран; Используя tryParse; EvenNumb eNumb = new EvenNumb(); string s = ""; int num = 0; Console.WriteLine("Введите числа чтобы узнать сумму нечётных чисел"); do { s = Console.ReadLine(); if (int.TryParse(s, out num)) { eNumb.Sum(num); } else { Console.WriteLine("Ошибка, введите число!"); } } while (num != 0); Console.WriteLine("Сумма нечётных чисел: " + eNumb.ShowSum()); eNumb.ShowNumbers(); Console.ReadKey(); }