это задачка.
формулы привожу.
Код:
uses crt;
type
massiv = array[1..4,1..4] of real;
mas=array[1..2,1..2] of real;
var m2,m3,m4,m5:massiv;
x11,x12,x13,x14,x15,x21,x22,x23,x24,x25,x31,x32,x33,x34,x35,x41,x42,x43,x44,x45:integer;
i,j:1..4;
procedure inver(var m2:massiv; m3:masmsiv);
var
a,a_1,b,c,d,k,l,m,n,ca,cab,ab,nca,abn,abm,d_cab:mas;
i,j:byte;
a1,b1,c1,d1,k1,l1,m1,n1,a11,b11,c11,d11,k11,l11,m11,n11:real;
procedure proiz(var z:mas; a,b:mas);
var i,j,k:byte;
begin
for i := 1 to 2 do
for j := 1 to 2 do
begin
z[i,j] := 0;
for k := 1 to 2 do
z[i,j] := z[i,j] + a[i,k] * b[k,j]
end;
end;
begin
{razbili po kletkam}
for i:=1 to 2 do
for j:=1 to 2 do
a[i,j]:=m2[i,j];
for i:=1 to 2 do
for j:=3 to 4 do
b[i,j-2]:=m2[i,j];
for i:=3 to 4 do
for j:=1 to 2 do
c[i-2,j]:=m2[i,j];
for i:=3 to 4 do
for j:=3 to 4 do
d[i-2,j-2]:=m2[i,j];
{s4itaem obratnoe A}
a1:=a[1,1];
b1:=a[1,2];
c1:=a[2,1];
d1:=a[2,2];
n1:=1/(d1-c1*1/a1*b1);
m1:=-n1*c1*1/a1;
l1:=-1/a1*b1*n1;
k1:=1/a1-1/a1*b1*m1;
a_1[1,1]:=k1;
a_1[1,2]:=l1;
a_1[2,1]:=m1;
a_1[2,2]:=n1;
{promejuto4nye rezult}
{c*a_1 v ca}
proiz(ca,c,a_1);
{c*a_1*b v cab}
proiz(cab,ca,b);
{a_1*b v ab}
proiz(ab,a_1,b);
{n*c*a_1}
proiz(nca,n,ca);
{a_1*b*n}
proiz(abn,ab,n);
{a_1*b*m}
proiz(abm,ab,m);
{naxodim otricatelnie}
for i:=1 to 2 do
for j:=1 to 2 do
begin
cab[i,j]:=cab[i,j]*-1;
m[i,j]:=nca[i,j]*-1; {polu4ili m&l}
l[i,j]:=abn[i,j]*-1;
abm[i,j]:=abm[i,j]*-1;
end;
for i:=1 to 2 do
for j:=1 to 2 do
begin
d_cab[i,j]:=d[i,j]+cab[i,j];
k[i,j]:=a_1[i,j]+abm[i,j]; {polu4ili k}
end;
{obratnoe d_cab}
a11:=d_cab[1,1];
b11:=d_cab[1,2];
c11:=d_cab[2,1];
d11:=d_cab[2,2];
n11:=1/(d11-c11*1/a11*b11);
m11:=-n11*c11*1/a11;
l11:=-1/a11*b11*n11;
k11:=1/a11-1/a11*b11*m11;
n[1,1]:=k11;
n[1,2]:=l11;
n[2,1]:=m11;
n[2,2]:=n11;
{m3 obratnaya m2}
for i:=1 to 2 do
for j:=1 to 2 do
m3[i,j]:=k[i,j];
for i:=1 to 2 do
for j:=3 to 4 do
m3[i,j]:=l[i,j-2];
for i:=3 to 4 do
for j:=1 to 2 do
m3[i,j]:=m[i-2,j];
for i:=3 to 4 do
for j:=3 to 4 do
m3[i,j]:=n[i-2,j-2];
end;
begin
clrscr;
writeln('vvedite indexi "X" i "=" 1-ogo uravneniay');
writeln('x1');
readln(x11);
writeln('x2');
readln(x12);
writeln('x3');
readln(x13);
writeln('x4');
readln(x14);
writeln('=');
readln(x15);
writeln('vvedite indexi "X" i "=" 2-ogo uravneniay');
writeln('x1');
readln(x21);
writeln('x2');
readln(x22);
writeln('x3');
readln(x23);
writeln('x4');
readln(x24);
writeln('=');
readln(x25);
writeln('vvedite indexi "X" i "=" 3-ogo uravneniay');
writeln('x1');
readln(x31);
writeln('x2');
readln(x32);
writeln('x3');
readln(x33);
writeln('x4');
readln(x34);
writeln('=');
readln(x35);
writeln('vvedite indexi "X" i "=" 4-ogo uravneniay');
writeln('x1');
readln(x41);
writeln('x2');
readln(x42);
writeln('x3');
readln(x43);
writeln('x4');
readln(x44);
writeln('=');
readln(x45);
m2[1,1]:=x11;
m2[1,2]:=x12;
m2[1,3]:=x13;
m2[1,4]:=x14;
m2[2,1]:=x21;
m2[2,2]:=x22;
m2[2,3]:=x23;
m2[2,4]:=x24;
m2[3,1]:=x31;
m2[3,2]:=x32;
m2[3,3]:=x33;
m2[3,4]:=x34;
m2[4,1]:=x41;
m2[4,2]:=x42;
m2[4,3]:=x43;
m2[4,4]:=x44;
inver(m2,m3);
m4[1,1]:=x15;
m4[2,1]:=x25;
m4[3,1]:=x35;
m4[4,1]:=x45;
for i:=1 to 4 do
begin
m5[i,1]:=0;
for j:=1 to 4 do
m5[i,1]:=m5[i,1]+m3[i,j]*m4[j,1];
end;
for i:=1 to 4 do
writeln('x',i,'=',m5[i,1])
end.