.


:




:

































 

 

 

 





 

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. .





:


: 2015-09-20; !; : 441 |


:

:

.
==> ...

1673 - | 1470 -


© 2015-2024 lektsii.org - -

: 0.009 .