コード例 #1
0
ファイル: Program.cs プロジェクト: IlyaLukin/HSE.Projects
        //Самые удаленные точки
        public static ClassPoint.PointArray DeterminationRemoteCoordinate(ClassPoint.PointArray pointArray)
        {
            var origin = new ClassPoint.Point(0, 0);

            var array = new ClassPoint.PointArray();

            for (var i = 0; i < pointArray.GetSize; i++)
            {
                if (pointArray[i] > origin)
                {
                    array.Resize(1);
                    array[array.GetSize - 1] = pointArray[i];
                    pointArray[i].Distance(origin);
                }
                else
                {
                    if (pointArray[i] == origin)
                    {
                        array.Resize(array.GetSize + 1);
                        array[array.GetSize - 1] = pointArray[i];
                    }
                }
            }

            return(array);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: IlyaLukin/HSE.Projects
        //Функция меню для операций приведения типа
        private static void Case2_2(ClassPoint.Point coordinate)
        {
            var ok = true;

            while (ok)
            {
                var sw = Print.Menu(0, part2Text_Type[0], part2Text_Type[1], part2Text_Type[2]);
                switch (sw)
                {
                case 1:
                    CheckInt(coordinate);

                    Console.WriteLine(endPhrase);
                    Console.ReadLine();
                    break;

                case 2:
                    CheckDouble(coordinate);

                    Console.WriteLine(endPhrase);
                    Console.ReadLine();
                    break;

                case 3:
                    ok = false;
                    break;
                }
            }
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: IlyaLukin/HSE.Projects
        //Функция меню для бинарных операций
        private static void Case2_3(ClassPoint.Point coordinate)
        {
            var ok = true;

            while (ok)
            {
                var sw = Print.Menu(0, part2Text_Bin[0], part2Text_Bin[1], part2Text_Bin[2]);
                switch (sw)
                {
                case 1:
                    CheckPlusPoint(coordinate);

                    Console.WriteLine(endPhrase);
                    Console.ReadLine();
                    break;

                case 2:
                    var rnd   = new Random();
                    var digit = rnd.Next(-10, 10);
                    CheckPlusIntRight(digit, ref coordinate);
                    CheckPlusIntLeft(-digit, ref coordinate);

                    Console.WriteLine(endPhrase);
                    Console.ReadLine();
                    break;

                case 3:
                    ok = false;
                    break;
                }
            }
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: IlyaLukin/HSE.Projects
        //Функция меню для унарных операций
        private static void Case2_1(ClassPoint.Point coordinate)
        {
            var ok = true;

            while (ok)
            {
                var sw = Print.Menu(0, part2Text_Uno[0], part2Text_Uno[1], part2Text_Uno[2]);
                switch (sw)
                {
                case 1:
                    CheckPlusPlus(coordinate);

                    Console.WriteLine(endPhrase);
                    Console.ReadLine();
                    break;

                case 2:
                    CheckMinusMinus(coordinate);

                    Console.WriteLine(endPhrase);
                    Console.ReadLine();
                    break;

                case 3:
                    ok = false;
                    break;
                }
            }
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: IlyaLukin/HSE.Projects
 //Проверка работы парегрузки + целое число
 private static void CheckPlusIntLeft(int digit, ref ClassPoint.Point coordinate)
 {
     Console.WriteLine("Используем {0} + Point: ", digit);
     Console.WriteLine("Должно получится: ({0};{1})", coordinate.CoordinateX + digit, coordinate.CoordinateY);
     coordinate = digit + coordinate;
     Console.Write("Что получилось: ");
     coordinate.Show();
     Console.WriteLine("\n");
 }
コード例 #6
0
ファイル: Program.cs プロジェクト: IlyaLukin/HSE.Projects
        //Проверка перегрузки double
        private static void CheckDouble(ClassPoint.Point coordinate)
        {
            Console.WriteLine("Используем double {что-то}: ");
            Console.WriteLine("Должно получится: {0}", coordinate.CoordinateY * 0.1 / 0.1);
            double y = coordinate;

            Console.WriteLine("Что получилось: {0}", y);
            Console.WriteLine("\n");
        }
コード例 #7
0
ファイル: Program.cs プロジェクト: IlyaLukin/HSE.Projects
        //Проверка перегрузки (int)
        private static void CheckInt(ClassPoint.Point coordinate)
        {
            Console.WriteLine("Используем (int){что-то}: ");
            Console.WriteLine("Должно получится: {0}", (int)coordinate.CoordinateX);
            var x = (int)coordinate;

            Console.WriteLine("Что получилось: {0}", x);
            Console.WriteLine("\n");
        }
コード例 #8
0
ファイル: Program.cs プロジェクト: IlyaLukin/HSE.Projects
        //Проверка работы перегрузки  + Point p
        private static void CheckPlusPoint(ClassPoint.Point coordinate1)
        {
            Console.Write("Координаты 1-ой точки: ");
            coordinate1.Show();
            Console.WriteLine("\n");
            var coordinate2 = ReadCoordinate(2);

            Console.WriteLine("Используем \"Point + Point\": ");
            Console.WriteLine("Должно получится: {0}", coordinate1.Distance(coordinate2));
            var distance = coordinate1 + coordinate2;

            Console.WriteLine("Что получилось: {0}", distance);
            Console.WriteLine("\n");
        }
コード例 #9
0
ファイル: Program.cs プロジェクト: IlyaLukin/HSE.Projects
        //Проверка перегрузки --
        private static void CheckMinusMinus(ClassPoint.Point coordinate)
        {
            Console.WriteLine("Используем --{что-то}: ");
            Console.WriteLine("Должно получится: ({0};{1})", coordinate.CoordinateX - 1, coordinate.CoordinateY);
            --coordinate;
            Console.Write("Что получилось: ");
            coordinate.Show();
            Console.WriteLine("\n");

            Console.WriteLine("Используем {что-то}--: ");
            Console.WriteLine("Должно получится: ({0};{1})", coordinate.CoordinateX - 1, coordinate.CoordinateY);
            coordinate--;
            Console.Write("Что получилось: ");
            coordinate.Show();
            Console.WriteLine("\n");
        }
コード例 #10
0
ファイル: Program.cs プロジェクト: IlyaLukin/HSE.Projects
        //Проверка перегрузки ++
        private static void CheckPlusPlus(ClassPoint.Point coordinate)
        {
            Console.WriteLine("Используем ++{что-то}: ");
            Console.WriteLine("Должно получится: ({0};{1})", coordinate.CoordinateX + 1, coordinate.CoordinateY);
            ++coordinate;
            Console.Write("Что получилось: ");
            coordinate.Show();
            Console.WriteLine("\n");

            Console.WriteLine("Используем {что-то}++: ");
            Console.WriteLine("Должно получится: ({0};{1})", coordinate.CoordinateX + 1, coordinate.CoordinateY);
            coordinate++;
            Console.Write("Что получилось: ");
            coordinate.Show();
            Console.WriteLine("\n");
        }
コード例 #11
0
ファイル: Program.cs プロジェクト: IlyaLukin/HSE.Projects
        //Функция меню для части 2
        private static void Case2()
        {
            var k  = 4;
            var ok = true;

            ClassPoint.Point coordinate = null;
            while (ok)
            {
                var sw = Print.Menu(k, part2Text[0], part2Text[1], part2Text[2], part2Text[3], part2Text[4],
                                    part2Text[5]);
                switch (sw)
                {
                case 1:
                    coordinate = ReadCoordinate(1);
                    k          = 0;
                    Console.WriteLine(endPhrase);
                    Console.ReadLine();
                    break;

                case 2:
                    Case2_1(coordinate);
                    break;

                case 3:
                    Case2_2(coordinate);
                    break;

                case 4:
                    Case2_3(coordinate);
                    break;

                case 5:
                    Console.Write("Координаты точки: ");
                    coordinate.Show();
                    Console.WriteLine();
                    Console.WriteLine(endPhrase);
                    Console.ReadLine();
                    break;

                case 6:
                    ok = false;
                    break;
                }
            }
        }
コード例 #12
0
ファイル: Program.cs プロジェクト: IlyaLukin/HSE.Projects
        //Проверка индексатора(ввод)
        private static void Input(ClassPoint.PointArray pointArray)
        {
            Console.WriteLine("Проверка ввода!");
            Console.WriteLine("Массив размера: {0}", pointArray.GetSize);
            Console.WriteLine("Проверка индексатора: ");
            Console.WriteLine("pointArray[-1] = (0,0): ");
            pointArray[-1] = new ClassPoint.Point(0, 0);
            Console.WriteLine("pointArray[0] = (1,1):");
            pointArray[0] = new ClassPoint.Point(1, 1);
            pointArray[0].Show();
            if (pointArray.GetSize > 1)
            {
                Console.WriteLine("\npointArray[{0}] = (2,2)", pointArray.GetSize - 1);
                pointArray[pointArray.GetSize - 1] = new ClassPoint.Point(2, 2);
                pointArray[pointArray.GetSize - 1].Show();
            }

            Console.WriteLine("\npointArray[{0}] = (-1,-1)", pointArray.GetSize);
            pointArray[pointArray.GetSize] = new ClassPoint.Point(-1, -1);
            Console.WriteLine("");
        }