Решение систем линейных уравнений методами Гаусса и Крамера - C#
Формулировка задачи:
Вот само задание: Написать программу, осуществляющую решение систем линейных уравнений методами Гаусса и Крамера. Программа должна обеспечить ввод с клавиатуры систем линейных уравнений произвольного порядка и нахождение их решений.
Данное задание необходимо лишь для получения оценки по предмету, не более того. С программирование не дружу, потому прошу помощи у умельцев. Подсобите, ребята, либо направьте на ресурс, где можно найти исходники такой программки Спасибо.
Решение задачи: «Решение систем линейных уравнений методами Гаусса и Крамера»
textual
Листинг программы
- using System;
- class Gauss
- {
- public static int Main(string[] args)
- {
- try
- {
- Matrix a = (args.Length == 0) ? SLAU.In() : SLAU.In(args[0]);
- for (int k = 1; k <= a.AmountOfRows - 1; k++)
- {
- if (a[k, k] == 0)
- for (int i = k + 1; i <= a.AmountOfRows; i++)
- if (a[i, k] != 0)
- {
- a.SwapRows(k, i);
- break;
- }
- double delElem = a[k, k];
- if (delElem == 0)
- {
- Console.WriteLine("Система не совместна");
- return 0;
- }
- a.MulRow(k, 1 / delElem);
- for (int i = k + 1; i <= a.AmountOfRows; i++)
- a.SumRows(k, i, -a[i, k]);
- }
- if (a[a.AmountOfRows, a.AmountOfColumns - 1] == 0)
- {
- Console.WriteLine("Система не совместна");
- return 0;
- }
- a.MulRow(a.AmountOfRows, 1 / a[a.AmountOfRows, a.AmountOfColumns - 1]);
- Matrix res = new Matrix(a.AmountOfRows, 1);
- for (int i = a.AmountOfRows; i >= 1; i--)
- {
- double sum = 0;
- for (int j = a.AmountOfRows; j >= i + 1; j--)
- sum += res[j, 1] * a[i, j];
- res[i, 1] = a[i, a.AmountOfColumns] - sum;
- }
- res.Out();
- }
- catch (Exception exc)
- {
- Console.WriteLine("Произошла критическая ошибка.
- Дальнейшее выполение программы нецелесобразно!!!");
- Console.WriteLine(exc.StackTrace);
- Console.WriteLine(exc.TargetSite);
- return 1;
- }
- finally
- {
- Console.WriteLine();
- Console.Write("Для продолжения нажмите Enter ... ");
- Console.ReadLine();
- }
- return 0;
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д