Beispiel #1
0
        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();
        }
Beispiel #2
0
    //  в C# в структурах могут храниться также действия над данными
    public ComplexS Plus(ComplexS x)
    {
        ComplexS y;

        y.im = im + x.im;
        y.re = re + x.re;
        return(y);
    }
Beispiel #3
0
    /// <summary>
    /// Метод вычитания комплексных чисел.
    /// </summary>
    public ComplexS Minus(ComplexS x)
    {
        ComplexS y;

        y.im = im - x.im;
        y.re = re - x.re;
        return(y);
    }
Beispiel #4
0
    //  Пример произведения двух комплексных чисел
    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);
    }
Beispiel #5
0
            public ComplexS Addition(ComplexS number)
            {
                ComplexS res;

                res.re_ = re_ + number.re_;
                res.im_ = im_ + number.im_;

                return(res);
            }
Beispiel #6
0
            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);
            }
Beispiel #7
0
        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();
        }