Exemplo n.º 1
0
        public static void EndMenu()
        {
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("\n------------------------------");
            Console.WriteLine("| Выберите действие:         |");
            Console.WriteLine("| 9) Построить новую матрицу |");
            Console.WriteLine("| 0) Выход из консоли        |");
            Console.WriteLine("------------------------------");
            Console.Write("Действие: ");
            int check = Search_for_Bugs.ProverkaVvoda();

            switch (check)
            {
            case 9:
                Program.Main();
                break;

            case 0:
                Console.Clear();
                Console.WriteLine(" ");
                Console.Write("Завершение работы.");
                Thread.Sleep(300);
                Console.Write(".");
                Thread.Sleep(300);
                Console.Write(".");
                Thread.Sleep(300);
                Environment.Exit(0);
                break;

            default:
                Text_Dialog.PrintErrorMenu();
                break;
            }
        }
Exemplo n.º 2
0
        public static void Main()
        {
            Console.Clear();
            int Size     = 0,
                ArrayMin = 0,
                ArrayMax = 100;

            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("Практическое задание №5:");
            Console.WriteLine("Задача 400");
            Console.WriteLine(@"Дана действительная квадратная матрица порядка n.\nПолучить x1*xn + x2*xn-1 + ... + xn*x1
где xk-наибольшее значение элементов k-й строки данной матрицы.");
            Console.WriteLine(" ");
            Console.ForegroundColor = ConsoleColor.White;
            do
            {
                Console.WriteLine("------------------------------");
                Console.WriteLine("| Выберите вид матрицы:      |");
                Console.WriteLine("| 1) Рандомная матрица       |");
                Console.WriteLine("| 2) Матрица с вводом        |");
                Console.WriteLine("| 0) Выход из консоли        |");
                Console.WriteLine("------------------------------");
                Console.Write("Действие: ");
                int check = Search_for_Bugs.ProverkaVvoda();
                switch (check)
                {
                case 1:
                    Console.Clear();
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine("------------Формирование матрицы--------------");
                    Console.ForegroundColor = ConsoleColor.White;
                    Console.WriteLine("Введите размерность матрицы: ");
                    Size = Search_for_Bugs.GetMatrixSize();
                    Console.Write("\nВведите нижнюю границу матрицы:");
                    ArrayMin = Search_for_Bugs.ProverkaVvoda();
                    do
                    {
                        Console.Write("Введите верхнюю границу матрицы:");
                        ArrayMax = Search_for_Bugs.ProverkaVvoda();
                        if (ArrayMax < ArrayMin)
                        {
                            Console.WriteLine("Верхняя граница не может быть меньше нижней!!!");
                        }
                    } while (ArrayMax < ArrayMin);
                    Random rand = new Random();
                    if (Size > 0)
                    {
                        double[,] matrix = new double[Size, Size];
                        for (int i = 0; i < Size; i++)
                        {
                            for (int j = 0; j < Size; j++)
                            {
                                matrix[i, j] = rand.Next(ArrayMin, ArrayMax);
                            }
                        }
                        Console.ForegroundColor = ConsoleColor.Green;
                        Console.WriteLine("------------Матрица--------------");
                        Console.ForegroundColor = ConsoleColor.White;
                        for (int i = 0; i < Size; i++)
                        {
                            for (int j = 0; j < Size; j++)
                            {
                                Console.Write(matrix[i, j] + " ");
                            }
                            Console.WriteLine();
                        }
                        double[] maxStringValues = new double[Size];
                        for (int i = 0; i < Size; i++)
                        {
                            double max = matrix[i, 0];
                            for (int j = 0; j < Size; j++)
                            {
                                if (max < matrix[i, j])
                                {
                                    max = matrix[i, j];
                                }
                            }
                            maxStringValues[i] = max;
                        }
                        Console.WriteLine(" ");
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Console.WriteLine("Максимумы в строчках:");
                        Console.ForegroundColor = ConsoleColor.White;
                        foreach (double numbers in maxStringValues)
                        {
                            Console.Write(numbers + " ");
                        }
                        double sum = 0;
                        for (int a = 0; a < Size; a++)
                        {
                            sum += maxStringValues[a] * maxStringValues[(Size - 1) - a];
                        }
                        Console.WriteLine(" ");
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Console.WriteLine("\nСумма:");
                        Console.ForegroundColor = ConsoleColor.White;
                        Console.WriteLine("S = " + sum);
                        Console.WriteLine(" ");
                        Text_Dialog.EndMenu();
                    }
                    else
                    {
                        Text_Dialog.RestartMenu();
                    }
                    break;

                case 2:
                    Console.Clear();
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine("------------Формирование матрицы--------------");
                    Console.ForegroundColor = ConsoleColor.White;
                    Console.WriteLine("Введите размерность матрицы: ");
                    Size = Search_for_Bugs.GetMatrixSize();
                    if (Size > 0)
                    {
                        double[,] matrix = new double[Size, Size];
                        for (int i = 0; i < Size; i++)
                        {
                            for (int j = 0; j < Size; j++)
                            {
                                Console.Write("введите [{0},{1}] элемент матрицы: ", i, j);
                                matrix[i, j] = Search_for_Bugs.GetDouble();
                            }
                        }
                        Console.ForegroundColor = ConsoleColor.Green;
                        Console.WriteLine("------------Матрица--------------");
                        Console.ForegroundColor = ConsoleColor.White;
                        for (int i = 0; i < Size; i++)
                        {
                            for (int j = 0; j < Size; j++)
                            {
                                Console.Write(matrix[i, j] + " ");
                            }
                            Console.WriteLine();
                        }
                        double[] maxStringValues = new double[Size];
                        for (int i = 0; i < Size; i++)
                        {
                            double max = matrix[i, 0];
                            for (int j = 0; j < Size; j++)
                            {
                                if (max < matrix[i, j])
                                {
                                    max = matrix[i, j];
                                }
                            }
                            maxStringValues[i] = max;
                        }
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Console.WriteLine("Максимумы в строчках:");
                        Console.ForegroundColor = ConsoleColor.White;
                        foreach (double numbers in maxStringValues)
                        {
                            Console.Write(numbers + " ");
                        }
                        double sum = 0;
                        for (int a = 0; a < Size; a++)
                        {
                            sum += maxStringValues[a] * maxStringValues[(Size - 1) - a];
                        }
                        Console.WriteLine(" ");
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Console.WriteLine("\nСумма:");
                        Console.ForegroundColor = ConsoleColor.White;
                        Console.WriteLine("S = " + sum);
                        Console.WriteLine(" ");
                        Text_Dialog.EndMenu();
                    }
                    else
                    {
                        Text_Dialog.RestartMenu();
                    }
                    break;

                case 0:
                    Console.Clear();
                    Console.WriteLine(" ");
                    Console.Write("Завершение работы.");
                    Thread.Sleep(300);
                    Console.Write(".");
                    Thread.Sleep(300);
                    Console.Write(".");
                    Thread.Sleep(300);
                    Environment.Exit(0);
                    break;

                default:
                    Text_Dialog.PrintErrorMenu();
                    continue;
                }
            } while (true);
        }