Пример #1
0
        static void Main()
        {
            Console.WriteLine("Программа, написанная на практике 1 курса (лето 2020 год) \n" + "Начало работы");
            ListOfMatrix list = new ListOfMatrix();
            int          k    = 0;

            while (k != 7)
            {
                k = Menu();
                switch (k)
                {
                case 1:
                    list = ListPut();
                    break;

                case 2:
                    list = MatrixInOut.FileRead();
                    break;

                case 3:
                    MatrixInOut.FileWrite(list);
                    break;

                case 4:
                    if (list == new ListOfMatrix())
                    {
                        Console.WriteLine("Список еще не создан!");
                        break;
                    }
                    Console.WriteLine(" ");
                    Console.WriteLine("\nКоличество элементов списка: " + list.Count());
                    Matrix maximal = list.MaxOfList();
                    Console.WriteLine("\nМаксимальный элемент списка: \n");
                    Console.WriteLine(maximal.ToString());
                    Matrix minimal = list.MinOfList();
                    Console.WriteLine("\nМинимальный элемент спика: \n");
                    Console.WriteLine(minimal.ToString());
                    Matrix first = list.FirstElementOfList();
                    Matrix last  = list.LastElementOfList();
                    Console.WriteLine("\nПервый элемент списка: \n");
                    Console.WriteLine(first.ToString());
                    Console.WriteLine("\nПоследний элемент списка: \n");
                    Console.WriteLine(minimal.ToString());
                    Console.WriteLine("\nСодержимое списка в строку: \n");
                    string[] str = list.ToStringArray();
                    for (int i = 0; i < str.Length; i++)
                    {
                        Console.WriteLine(str[i]);
                    }

                    Console.WriteLine("\nСодержимое списка в виде матриц:");
                    for (int i = 0; i < list.Count(); i++)
                    {
                        Console.WriteLine(list[i].ToString());
                        Console.WriteLine("");
                    }

                    Console.WriteLine("Определители матриц, содержащихся в списке: ");
                    for (int i = 0; i < list.Count(); i++)
                    {
                        Console.Write(list[i].Determinant + " ");
                    }
                    Console.WriteLine();
                    break;

                case 5:
                    list.BubbleSort();
                    string[] ptr = list.ToStringArray();
                    Console.WriteLine("\nОтсортированный список (в виде строки):\n");
                    for (int i = 0; i < ptr.Length; i++)
                    {
                        Console.WriteLine(ptr[i]);
                    }
                    Console.WriteLine("\nОтсортированный список в виде матриц:\n");
                    for (int i = 0; i < list.Count(); i++)
                    {
                        Console.WriteLine(list[i].ToString() + "\n");
                    }
                    Console.WriteLine("");
                    break;

                case 6:
                    double det = 0;
                    Console.WriteLine("Введите определитель:");
                    try
                    {
                        det = double.Parse(Console.ReadLine());
                    }
                    catch
                    {
                        throw new FormatException("Неверно введен определитель!!!");
                    }
                    string[] ListInStr = list.ToStringArray();
                    for (int i = 0; i < list.Count(); i++)
                    {
                        Matrix mtr = new Matrix();
                        if (!Matrix.TryParseMatrix(ListInStr[i], mtr))
                        {
                            throw new FormatException("Ошибка ввода!");
                        }
                        if (mtr.Determinant < det)
                        {
                            Console.WriteLine(ListInStr[i]);
                        }
                    }
                    break;

                default:
                    break;
                }
            }
            Console.WriteLine("Конец работы программы!");
            Console.ReadKey();
        }