1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Здрасьте, нашел прогу по моему заданию, но ее нужно защитить, поэтому прошу помочь в ней разобраться.
uses crt;
const
nn = 10;
type
Matrix = array[1..NN,1..NN+1] of real;
(* построчный ввод матрицы *)Procedure ReadMatr(var A:Matrix; var n:word );
var
i, j, m: word;
beginrepeat
write('Введите количество линейных уравн. в системе: '); readln(N)
until (N>0) and (N<=NN);
m:=n+1;
For i:=1to n dobeginFor j:=1to m dobegin
write('A[',i,j,']= '); readln(A[i,j])
endendend;
(* построчный вывод матрицы *)Procedure PrintMatr(A:Matrix; n:word);
Var
i, j, m: word;
begin
m:=n+1;
For i:=1to n dobeginFor j:=1to m do write(A[i,j],' ');
writeln
endend;
procedure GaussM(a:matrix;n:word; var s:byte; var x:arrayof real); вот тут стало непонятно
var
i, k, j: byte;
m, t: real;
begin
i:=1;
s:=1;
repeat
j:=i+1;
k:=i;
m:=abs(a[i,i]);
repeatif m<abs(a[j,i]) thenbegin
m:=abs(a[j,i]);
k:=j;
end;
j:=j+1untilnot(j<=n);
if m<>0thenbegin
j:=i;
repeat
t:=a[i,j];
a[i,j]:=a[k,j];
a[k,j]:=t;
j:=j+1untilnot(j<=n+1);
k:=i+1;
repeat
t:=a[k,i]/a[i,i];
a[k,i]:=0;
j:=i+1;
repeat
a[k,j]:=a[k,j]-t*a[i,j];
j:=j+1untilnot(j<=n+1);
k:=k+1untilnot(k<=n);
endelsebegin
s:=0;
end;
i:=i+1untilnot((i<=n)and(s=1));
if s=1thenbegin
i:=n;
repeat
x[i]:=a[i,n+1];
j:=i+1;
while j<=n dobegin
x[i]:=x[i]-a[i,j]*x[j];
j:=j+1;
end;
x[i]:=x[i]/a[i,i];
i:=i-1untilnot(i>=1);
end;
end;
var
b: array[0..nn] of real;
a: Matrix;
n, j: word;
s: byte;
Begin
readmatr(a,n);
printmatr(a,n);
writeln('press any key'); readkey;
GaussM(a,n,s,b);
for j:=1to n do write (b[j],' ');
writeln('press any key for exit ...'); readkey
end.