.


:




:

































 

 

 

 





  1. - , .
  2. , .
  3. . , - .
  4. , . . .
  5. . 0. .
  6. , . , .
  7. 6 .
  8. 3-7 . .
  9. 9 . 1-11 , .
  10. .
  11. .

, .

 

: "" "" .

, :

[1,1], [1,2],..., [1,n]; 1, 0,..., 0;

[2,1], [2,2],..., [2,n]; 0, 1,..., 0;

...

[n,1], [n,2],..., [n,n]; 0, 0,..., 1;

"" . [1,1]. [1,1] 1. [2,1] - - . n-. .

. . (n-1)- . n- [n,n]. . .

1. , . , "" . : , , ( -1 ).

. . (i) n- n- [i,n]. (n-1)- .

. , , - . - .

 

const n=5;

eps=0.00001;

type matr=array[1..n,1..n] of real;

var a,b,a0:matr;

i,j,imx,np:integer;

s0,s1:real;

 

procedure MultString(var a,b:matr;i1:integer;r:real);

var j:integer;

begin

for j:=1 to n do

begin

a[i1,j]:=a[i1,j]*r;

b[i1,j]:=b[i1,j]*r;

end;

end;

 

procedure AddStrings(var a,b:matr;i1,i2:integer;r:real);

{ i1 a i2- r}

var j:integer;

begin

for j:=1 to n do

begin

a[i1,j]:=a[i1,j]+r*a[i2,j];

b[i1,j]:=b[i1,j]+r*b[i2,j];

end;

end;

 

procedure MultMatr(a,b:matr;var c:matr);

var i,j,k:byte;

s:real;

begin

for i:=1 to n do

for j:=1 to n do

begin

s:=0;

for k:=1 to n do

s:=s+a[i,k]*b[k,j];

c[i,j]:=s;

end;

end;

 

function sign(r:real):shortint;

begin

if (r>=0) then sign:=1 else sign:=-1;

end;

 

begin { }

randomize; { }

for i:=1 to n do

begin

for j:=1 to n do

begin

b[i,j]:=0;

a[i,j]:=1.0*random(8)-4;

end;

b[i,i]:=1;

end;

 

for i:=1 to n do

for j:=1 to n do

a0[i,j]:=a[i,j];

writeln('Starting matrix:'); np:=0;

 

PrintMatr();

for i:=1 to n do

begin

{ i- ( ) j-

i- j- . ,

a[i,i] i-

( i- ) a[i,i],

}

for j:=i+1 to n do

AddStrings(a,b,i,j,sign(a[i,i])*sign(a[j,i]));

{ }

if (abs(a[i,i])>eps) then

begin

MultString(a,b,i,1/a[i,i]);

for j:=i+1 to n do

AddStrings(a,b,j,i,-a[j,i]);

end

else

begin

writeln(' .');

halt;

end

end;

 

if (a[n,n]>eps) then

begin

for i:=n downto 1 do

for j:=1 to i-1 do

begin

AddStrings(a,b,j,i,-a[j,i]);

end;

end

else writeln(' .');

MultMatr(a0,b,a);

writeln(' , :');

PrintMatr();

writeln(': .');

PrintMatr();

end.

 

 





:


: 2016-09-03; !; : 572 |


:

:

, ,
==> ...

1510 - | 1491 -


© 2015-2024 lektsii.org - -

: 0.016 .