Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.02.2016, 14:30   #1
Lyusinda
 
Регистрация: 31.01.2016
Сообщений: 4
По умолчанию метод Жорданна-Гауса

Здравствуйте!Подскажите, пожалуйста,как изменить задачу, чтобы при наборе данной матрицы - был результат - метод не применим либо не существует, чтоб не считала корни программа., матрица 3 на 3 : a: -1,-2,1; b: 2,4,0; c: 4,8,1; d: 5,1,0

Код:
 a  b   c    d
-1  2   4    5 
-2  4   8    1        d - свободные члены
 1   0  1     0

Код:
Program zadacha;
uses  crt;
const
  e = 0.000001;
var
  a,a1: array[1..10, 1..10] of real;
  b,b1: array[1..10] of real;
  x: array[1..10] of real; 
  n, i, j, k: integer;z, r, g: real;
 
begin
  clrscr;
  write('Порядок: ');
  readln(n);
  writeln('Введите коэффициенты системы и свободные члены');
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      write('a[', i, ',', j, ']= ');
      readln(a[i, j]);
      a1[i,j]:=a[i,j];
    end;
    Writeln('b[', i, ']= ');
    readln(b[i]);
  end;
  for k := 1 to n do { прямой ход Гаусса }
  begin
    for j := k + 1 to n do
    begin
      r := a[j, k] / a[k, k];
      for i := k to n do
      begin
        a[j, i] := a[j, i] - r * a[k, i];
      end;
      b[j] := b[j] - r * b[k];
    end;
  end;
  for k := n downto 1 do { обратный ход Гаусса }
  begin
    r := 0;
    for j := k + 1 to n do
    begin
      g := a[k, j] * x[j];
      r := r + g;
    end;
    x[k] := (b[k] - r) / a[k, k];
  end;
  writeln('Корни системы:');
  for i := 1 to n do
    write('x[', i, ']=', x[i]:0:2, '   ');
  writeln;
  readln;
end.

Последний раз редактировалось Вадим Мошев; 01.02.2016 в 15:02.
Lyusinda вне форума Ответить с цитированием
Старый 01.02.2016, 15:26   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

самое первое, что напрашивается (раз вы не применяете типичные модификации с выбором), то проверять, что очередной "знаменатель" будет равен 0
p51x вне форума Ответить с цитированием
Старый 01.02.2016, 20:09   #3
Lyusinda
 
Регистрация: 31.01.2016
Сообщений: 4
По умолчанию

Что это значит?
Lyusinda вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
метод Гауса Lyusinda Помощь студентам 1 01.02.2016 14:59
Метод Гауса IHORRR Помощь студентам 4 12.10.2014 04:02
Метод гауса с выбором главного элемента по столбцу teemidov Паскаль, Turbo Pascal, PascalABC.NET 0 26.02.2012 14:01
метода Гауса Виктория Нисова Visual C++ 2 01.04.2011 15:02
обратная матрица методом гауса manuk Общие вопросы C/C++ 0 15.03.2010 18:28