Пример #1
0
        //Деление
        public SComplex Div(SComplex a)
        {
            SComplex result;

            result.Im = (Im * a.Im + Re * a.Re) / (Math.Pow(a.Im, 2) + Math.Pow(a.Re, 2));
            result.Re = (Re * a.Im - Im * a.Re) / (Math.Pow(a.Im, 2) + Math.Pow(a.Re, 2));
            return(result);
        }
Пример #2
0
        //Вычитание
        public SComplex Sub(SComplex a)
        {
            SComplex result;

            result.Im = Im - a.Im;
            result.Re = Re - a.Re;
            return(result);
        }
Пример #3
0
        //Умножение
        public SComplex Multy(SComplex a)
        {
            SComplex result;

            result.Im = Im * a.Im - Re * a.Re;
            result.Re = Im * a.Re + Re * a.Im;
            return(result);
        }
Пример #4
0
        //Сумма
        public SComplex Add(SComplex a)
        {
            SComplex result;

            result.Im = Im + a.Im;
            result.Re = Re + a.Re;
            return(result);
        }
Пример #5
0
        static void Main(string[] args)
        {
            ProjectSettings();


            Console.WriteLine("Пример работы структуры и класса 'Комплексные числа'");
            //1. а) Дописать структуру Complex, добавив метод вычитания комплексных чисел. Продемонстрировать работу структуры;
            SComplex struck1      = new SComplex(2.3, 2.7);
            SComplex struck2      = new SComplex(5.1, 4.9);
            SComplex resultStruck = struck1.Add(struck2);

            resultStruck.ShowStruck("Сумма");
            resultStruck = struck1.Sub(struck2);
            resultStruck.ShowStruck("Вычитание");
            resultStruck = struck1.Multy(struck2);
            resultStruck.ShowStruck("Умножение");
            resultStruck = struck1.Div(struck2);
            resultStruck.ShowStruck("Деление");
            Console.WriteLine("----------------------");
            //б) Дописать класс Complex, добавив методы вычитания и произведения чисел. Проверить работу класса;
            CComplex class1      = new CComplex(2.3, 2.7);
            CComplex class2      = new CComplex(5.1, 4.9);
            CComplex resultClass = class1.Add(class2);

            resultClass.ShowClass("Сумма");
            resultClass = class1.Sub(class2);
            resultClass.ShowClass("Вычитание");
            resultClass = class1.Multy(class2);
            resultClass.ShowClass("Умножение");
            resultClass = class1.Div(class2);
            resultClass.ShowClass("Деление");
            Console.WriteLine("----------------------");

            /*2.а) С клавиатуры вводятся числа, пока не будет введен 0(каждое число в новой строке).
             * Требуется подсчитать сумму всех нечетных положительных чисел.Сами числа и сумму вывести на экран; Используя tryParse;*/
            SumOfNumbers sum1 = new SumOfNumbers();

            sum1.SumTryParse();

            /*б) Добавить обработку исключительных ситуаций на то, что могут быть введены некорректные
             * данные.При возникновении ошибки вывести сообщение.*/
            SumOfNumbers sum2 = new SumOfNumbers();

            sum2.SumTryCatch();
            Console.WriteLine("----------------------");

            Console.WriteLine("Пример работы класса дробь и упрощение дробей");

            /*3.*Описать класс дробей -рациональных чисел, являющихся отношением двух целых чисел.
             * Предусмотреть методы сложения, вычитания, умножения и деления дробей. Написать
             * программу, демонстрирующую все разработанные элементы класса.
             * Добавить упрощение дробей.*/
            Fraction fr1       = new Fraction(1, 6);
            Fraction fr2       = new Fraction(-3, 2);
            Fraction resultSum = fr1.Sum(fr2);

            Fraction.Print("Результат суммы:", fr1, fr2, resultSum);
            Fraction resultSub = fr1.Sub(fr2);

            Fraction.Print("Результат вычитания:", fr1, fr2, resultSub);
            Fraction resultMulty = fr1.Multy(fr2);

            Fraction.Print("Результат умножения:", fr1, fr2, resultMulty);
            Fraction resultDiv = fr1.Div(fr2);

            Fraction.Print("Результат деления:", fr1, fr2, resultDiv);
            Console.ReadKey();
        }