Практикум по курсу "Объектно-ориентированное программирование" на языке C#. Андрианова А.А - 42 стр.

UptoLike

41
if(B[0, i] != 0)
{
isSolved = false;
return;
}
// формирование общего решения для совместной СЛАУ
// путем переноса свободных переменных в правую часть
Matrix res = new Matrix(rang, 1 + n - rang);
for(int i = 0; i < rang; i++)
{
res[i,0] = B[0, i];
for(int j = rang; j < n; j++)
res[i, j - rang + 1] = -A[i, j];
}
x = res;
isSolved = true;
}
Выбор метода для решения СЛАУ осуществляется в функции
Solve(). Если матрица коэффициентов системы является квадратной, то
пользователю предлагается задать метод решения системы: метод Крамера
или с помощью обратной матрицы. Если определитель квадратной матрицы
окажется нулевым, СЛАУ будет решаться методом исключений Жордана-
Гаусса. Для решения СЛАУ с прямоугольной матрицей коэффициентов
применим только метод Жордана-Гаусса.
// функция выбора метода решения системы линейных уравнений
public void Solve()
{
if(m == n)
try
{
// матрица коэффициентов квадратная –
// предоставляется выбор метода решения
// пользователю
Console.WriteLine("Метод Крамера - 1,
С помощью обратной матрицы - 2");
int i = int.Parse(Console.ReadLine());
if(i == 1)
Kramer();
else
InverseMatrix();
}
catch(Exception e)
{
// генерация исключения происходит при
// равенстве нулю определителя матрицы
// коэффициентов. Поэтому осуществляется получение
            if(B[0, i] != 0)
            {
               isSolved = false;
                return;
            }
         // формирование общего решения для совместной СЛАУ
         // путем переноса свободных переменных в правую часть
         Matrix res = new Matrix(rang, 1 + n - rang);
         for(int i = 0; i < rang; i++)
         {
            res[i,0] = B[0, i];
            for(int j = rang; j < n; j++)
               res[i, j - rang + 1] = -A[i, j];
         }
         x = res;
         isSolved = true;
     }

      Выбор метода для решения СЛАУ осуществляется в функции
Solve(). Если матрица коэффициентов системы является квадратной, то
пользователю предлагается задать метод решения системы: метод Крамера
или с помощью обратной матрицы. Если определитель квадратной матрицы
окажется нулевым, СЛАУ будет решаться методом исключений Жордана-
Гаусса. Для решения СЛАУ с прямоугольной матрицей коэффициентов
применим только метод Жордана-Гаусса.

     // функция выбора метода решения системы линейных уравнений
     public void Solve()
     {
        if(m == n)
           try
           {
               // матрица коэффициентов квадратная –
               // предоставляется выбор метода решения
                // пользователю
                Console.WriteLine("Метод Крамера - 1,
                                    С помощью обратной матрицы - 2");
                int i = int.Parse(Console.ReadLine());
               if(i == 1)
                   Kramer();
               else
                   InverseMatrix();
           }
           catch(Exception e)
           {
               // генерация исключения происходит при
               // равенстве нулю определителя матрицы
               // коэффициентов. Поэтому осуществляется получение

41