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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2011, 20:18   #1
Novenkaja
Форумчанин
 
Регистрация: 29.12.2010
Сообщений: 176
Вопрос Изменить программу-обратную матрицу в Паскале,чтобы работала корректно

Добрый вечер.

Есть вот код,надо сделать так,чтобы он работал и делала всё корректно.
Так продектовал преподователь условие задания

Код:
program apgriezta_matrica;
type tips=array [1..10,1..10] of real;
     tips1=array [1..10,1..20] of real;
var i,j,k,n,m1:integer;
    s,z:real;
    m:tips;
    a:tips1;
begin
     readln (n);
     for i:=1 to n do
         for k:=1 to n do readln (m[i,k]);
     m1:=n*2;
     s:=0;
     for i:=1 to n do
         for j:=1 to m1 do
             if j<=n then a[i,j]:=m[i,j]
                     else if j=n+1 then a[i,j]:=1
                                   else a[i,j]:=0;
     for i:=1 to n do begin
                      k:=i;
                      while (a[i,k]=0) and (k<=n) do
                            begin
                            k:=k+1;
                            if k>=n then begin
                                        writeln ('Нет решения');
                                        halt (1)
                                        end
                            end;
                      if k<>i then for j:=1 to m1 do
                         begin
                         z:=a[k,j];
                         a[k,j]:=a[i,j];
                         a[i,j]:=z
                         end;
                      for j:=m1 downto i do a[i,j]:=a[i,j]/a[i,i];
                      for k:=1 to n do
                          if k<>i then for j:=m1 downto i do
                             a[k,j]:=a[k,j]-a[i,j]*a[k,i]
                      end;
     for i:=1 to n do
         for j:=1 to n do m[i,j]:=a[i,j+n];
     for i:=1 to n do begin
                      for j:=1 to n do write (m[i,j]);
                      writeln
                      end;
     readln
end.
Novenkaja вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти обратную матрицу в Си Monomah Помощь студентам 0 26.02.2011 12:03
Найти обратную матрицу. C# MaD1z Помощь студентам 0 23.12.2009 12:47
Как найти обратную матрицу? Энжи Помощь студентам 0 07.12.2009 22:38
Нужна помощь! Нужно переделать программу написанную на дельфи, чтобы она работала под управлением Vista Karloss Фриланс 5 10.11.2008 17:14