program gauss(input,output);
{' i '}
TYPE
dvmr = array[0..10,0..10] of real;
ovmr = array[0..10] of real;
var i,j,n,m:integer;
n1,m1,l1:integer;
aa,a,p,g:dvmr;
x,y,riz:ovmr;
b,ii:integer;
ab:real;
fr:text;
Procedure GELG(A:dvmr; Var B:ovmr; n:integer);
Var i,j,k,l: integer;
r: real;
Begin
{ ************************************************}
{ i ` ii }
{ i }
{ }
l:=0;
for i:=1 to N do begin
k:=i; r:=Abs(A[i,i]);
for j:=i+1 to N do
if Abs(A[j,i])>r then begin
k:=j; r:=Abs(A[j,i]);
end;
if r<>0 then begin
if k<>i then begin
r:=B[k]; B[k]:=B[i]; B[i]:=r;
for j:=i to N do begin
r:=A[k,j];
A[k,j]:=A[i,j];
A[i,j]:=r;
end;
end;
r:=A[i,i]; B[i]:=B[i]/r;
for j:=i to N do A[i,j]:=A[i,j]/r;
for k:=i+1 to N do begin
r:=A[k,i]; B[k]:=B[k]-r*B[i];
for j:=i to N do A[k,j]:=A[k,j]-r*A[i,j];
end;
end
else begin l:=1; i:=N+1; end;
end;
if l<>1 then begin
for i:=N-1 downto 1 do begin
for j:=i+1 to N do B[i]:=B[i]-A[i,j]*B[j];
end;
end;
End;
{ i }
procedure vvidmat(var a:dvmr;n,m:integer);
var i,j:integer;
begin
for i:=1 to n do
for j:=1 to m do
readln(a[i,j]);
end;
{ }
procedure vvidvek(var x:ovmr;n:integer);
var i:integer;
begin
for i:=1 to n do
readln(x[i]);
end;
{ i }
procedure drukmat(a:dvmr;n,m:integer);
var i,j:integer;
begin
for i:=1 to n do
begin
for j:=1 to m do
write(fr,a[i,j]:5:2,' ');
writeln(fr);
end;
end;
procedure drukvek(x:ovmr;n:integer);
var i:integer;
begin
for i:=1 to n do
writeln(fr,x[i]:5:3);
end;
begin
assign(fr,'gres.txt');
rewrite(fr);
{ i }
writeln('i ');
readln(m);
writeln('i -');
vvidmat(aa,m,m);
writeln('i i i');
vvidvek(x,m);
rivvek(x,y,m);
writeln(fr,' ');
drukmat(aa,m,m);
writeln(fr,'ii ');
drukvek(x,m);
gelg(aa,x,m);
{ i "i}
writeln(fr,'"');
drukvek(x,m);
{ '}
writeln(fr,'"');
for i:=1 to m do
begin
riz[i]:=0;
for j:=1 to m do
riz[i]:=riz[i]+aa[i,j]*x[j];
riz[i]:=riz[i]-y[i];
writeln(fr,'riz[',i:1,']=',riz[i]:2:2);
end;
close(fr);
end.
2.00 1.00 1.00
4.00 3.00 2.00
1.00 4.00 5.00
ii
2.00
2.00
1.00
"
1.222
-2.000
1.556
"
riz[1]=0.00
riz[2]=0.00
riz[3]=0.00
|
|
MathCad
( ) , .
Pascal ( TurboPascal6 ) . MathCad. .