//ввод данных с клавиатуры public static SLAU GetSLAU() { Console.WriteLine("Введите количество уравнений:"); var n = int.Parse(Console.ReadLine()); var slau = new SLAU(n); Console.WriteLine(); Console.WriteLine("Введите коэффициенты (через пробел, разделяя уравнения переносом строки):"); for (int i = 0; i < n; i++) { var str = Console.ReadLine().Split(' '); for (int j = 0; j < n; j++) { slau.Matrix[i, j] = double.Parse(str[j]); } } Console.WriteLine(); Console.WriteLine("Введите свободные члены (через пробел):"); var str2 = Console.ReadLine().Split(' '); for (int j = 0; j < n; j++) { slau.B[j] = double.Parse(str2[j]); } Console.WriteLine(); return(slau); }
static void Main(string[] args) { var slau = SLAU.GetSLAU(); slau.PrintSLAU(); Console.WriteLine("Выберите метод:\n1 - решение с помощью QR разложения;\n2 - метод простой итерации;\n3 - LU разложение;\n" + "4 - метод квадратных корней;\n5 - нахождение минимального собственного числа степенным методом;\n" + "6 - нахождение собственных значений QR-алгоритмом"); switch (int.Parse(Console.ReadLine())) { case 1: Console.WriteLine(); slau.SolveSlauQR(slau.Matrix, slau.B); //v break; case 2: Console.WriteLine(); slau.IterativeMethod(); //v break; case 3: Console.WriteLine(); slau.LUdecomposition(); //v break; case 4: Console.WriteLine(); slau.UUTdecomposition(); //v break; case 5: Console.WriteLine(); slau.PowerIteration(); //v break; case 6: Console.WriteLine(); slau.QRdecomposition(); //числа break; default: Console.WriteLine(); Console.WriteLine("Неверный номер метода"); break; } Console.ReadLine(); }