program ideone;
Uses Crt;
const n=4;
begin
type mass1=array[1..n,1..n] of real;
mass2=array[1..n] of real;
var a,s:mass1;b,y,x:mass2;i,j,k:integer;
f:boolean;
procedure vvod;
var i,j:integer;
begin
a[1,1]:=4;a[1,2]:=2;a[1,3]:=6;a[1,4]:=8;
a[2,1]:=2;a[2,2]:=5;a[2,3]:=5;a[2,4]:=10;
a[3,1]:=6;a[3,2]:=5;a[3,3]:=14;a[3,4]:=17;
a[4,1]:=8;a[4,2]:=10;a[4,3]:=17;a[4,4]:=30;
b[1]:=-80;
b[2]:=156;
b[3]:=-304;
b[4]:=221;
writeln('Variant 10:');
for i:=1 to n do begin
for j:=1 to n do
write(a[i,j]:2:0,' ');
writeln('| ',b[i]:2:0);end;
writeln;
end;
procedure proverka(var f:boolean);
var i,j:integer;
begin
f:=true;
for i:=1 to n do
for j:=1 to n do
if a[i,j]<>a[j,i] then f:=false;
end;
procedure matr_S;
var i,j,k:integer;s1:real;
begin
for i:=1 to n do begin
s1:=0;
for k:=1 to (i-1) do
s1:=s1+s[k,i]*s[k,i];
s[i,i]:=sqrt(a[i,i]-s1);
for j:=(i+1) to n do begin
s1:=0;
for k:=1 to (i-1) do
s1:=s1+s[k,i]*s[k,j];
s[i,j]:=(a[i,j]-s1)/s[i,i];
end;end;
writeln('Matrica S:');
for i:=1 to n do begin
for j:=1 to n do
write(s[i,j]:2:0,' ');writeln; end;
end;
procedure matr_Y;
var i,k:integer;s1:real;
begin
for i:=1 to n do begin
s1:=0;
for k:=1 to (i-1) do
s1:=s1+s[k,i]*y[k];
y[i]:=(b[i]-s1)/s[i,i];end;
writeln;
writeln('Vspomogatelniy vektor Y:');
for i:=1 to n do begin
write(y[i]:2:0,' ');writeln;end;
end;
procedure matr_X;
var i,k:integer;s1:real;
begin
for i:=n downto 1 do begin
s1:=0;
for k:=(i+1) to n do
s1:=s1+s[i,k]*x[k];
x[i]:=(y[i]-s1)/s[i,i];end;
writeln;
writeln('Otvet (vektor X):');
for i:=1 to n do begin
write(x[i]:2:0,' ');writeln;end;
end;
begin
clrscr;
vvod;
proverka(f);
if f=true then begin
matr_S;matr_y;matr_x;end
else writeln('metod ne primenim dlya dannoy matrici!');
end.
cHJvZ3JhbSBpZGVvbmU7ClVzZXMgQ3J0Owpjb25zdCBuPTQ7CmJlZ2luCgoKdHlwZSBtYXNzMT1hcnJheVsxLi5uLDEuLm5dIG9mIHJlYWw7CiAgICAgbWFzczI9YXJyYXlbMS4ubl0gb2YgcmVhbDsKdmFyICBhLHM6bWFzczE7Yix5LHg6bWFzczI7aSxqLGs6aW50ZWdlcjsKICAgICBmOmJvb2xlYW47CiAKcHJvY2VkdXJlIHZ2b2Q7CnZhciBpLGo6aW50ZWdlcjsKYmVnaW4KYVsxLDFdOj00O2FbMSwyXTo9MjthWzEsM106PTY7YVsxLDRdOj04OwphWzIsMV06PTI7YVsyLDJdOj01O2FbMiwzXTo9NTthWzIsNF06PTEwOwphWzMsMV06PTY7YVszLDJdOj01O2FbMywzXTo9MTQ7YVszLDRdOj0xNzsKYVs0LDFdOj04O2FbNCwyXTo9MTA7YVs0LDNdOj0xNzthWzQsNF06PTMwOwpiWzFdOj0tODA7CmJbMl06PTE1NjsKYlszXTo9LTMwNDsKYls0XTo9MjIxOwp3cml0ZWxuKCdWYXJpYW50IDEwOicpOwpmb3IgaTo9MSB0byBuIGRvIGJlZ2luCmZvciBqOj0xIHRvIG4gZG8Kd3JpdGUoYVtpLGpdOjI6MCwnICcpOwp3cml0ZWxuKCd8ICcsYltpXToyOjApO2VuZDsKd3JpdGVsbjsKZW5kOwogCiAKcHJvY2VkdXJlIHByb3ZlcmthKHZhciBmOmJvb2xlYW4pOwp2YXIgaSxqOmludGVnZXI7CmJlZ2luCmY6PXRydWU7CmZvciBpOj0xICB0byBuIGRvCmZvciBqOj0xIHRvIG4gZG8KaWYgYVtpLGpdPD5hW2osaV0gdGhlbiBmOj1mYWxzZTsKZW5kOwogCnByb2NlZHVyZSBtYXRyX1M7CnZhciBpLGosazppbnRlZ2VyO3MxOnJlYWw7CmJlZ2luCmZvciBpOj0xIHRvIG4gZG8gYmVnaW4KczE6PTA7CmZvciBrOj0xIHRvIChpLTEpIGRvCnMxOj1zMStzW2ssaV0qc1trLGldOwpzW2ksaV06PXNxcnQoYVtpLGldLXMxKTsKZm9yIGo6PShpKzEpIHRvIG4gZG8gYmVnaW4KczE6PTA7CmZvciBrOj0xIHRvIChpLTEpIGRvCnMxOj1zMStzW2ssaV0qc1trLGpdOwpzW2ksal06PShhW2ksal0tczEpL3NbaSxpXTsKZW5kO2VuZDsKd3JpdGVsbignTWF0cmljYSBTOicpOwpmb3IgaTo9MSB0byBuIGRvIGJlZ2luCmZvciBqOj0xIHRvIG4gZG8Kd3JpdGUoc1tpLGpdOjI6MCwnICcpO3dyaXRlbG47IGVuZDsKZW5kOwogCnByb2NlZHVyZSBtYXRyX1k7CnZhciBpLGs6aW50ZWdlcjtzMTpyZWFsOwpiZWdpbgpmb3IgaTo9MSB0byBuIGRvIGJlZ2luCnMxOj0wOwpmb3Igazo9MSB0byAoaS0xKSBkbwpzMTo9czErc1trLGldKnlba107CnlbaV06PShiW2ldLXMxKS9zW2ksaV07ZW5kOwp3cml0ZWxuOwp3cml0ZWxuKCdWc3BvbW9nYXRlbG5peSB2ZWt0b3IgWTonKTsKZm9yIGk6PTEgdG8gbiBkbyBiZWdpbgp3cml0ZSh5W2ldOjI6MCwnICcpO3dyaXRlbG47ZW5kOwplbmQ7CiAKcHJvY2VkdXJlIG1hdHJfWDsKdmFyIGksazppbnRlZ2VyO3MxOnJlYWw7CmJlZ2luCmZvciBpOj1uIGRvd250byAxIGRvIGJlZ2luCnMxOj0wOwpmb3Igazo9KGkrMSkgdG8gbiBkbwpzMTo9czErc1tpLGtdKnhba107CnhbaV06PSh5W2ldLXMxKS9zW2ksaV07ZW5kOwp3cml0ZWxuOwp3cml0ZWxuKCdPdHZldCAodmVrdG9yIFgpOicpOwpmb3IgaTo9MSB0byBuIGRvIGJlZ2luCndyaXRlKHhbaV06MjowLCcgJyk7d3JpdGVsbjtlbmQ7CmVuZDsKIApiZWdpbgpjbHJzY3I7CiAKdnZvZDsKcHJvdmVya2EoZik7CmlmIGY9dHJ1ZSB0aGVuIGJlZ2luCm1hdHJfUzttYXRyX3k7bWF0cl94O2VuZAplbHNlIHdyaXRlbG4oJ21ldG9kIG5lIHByaW1lbmltIGRseWEgZGFubm95IG1hdHJpY2khJyk7CmVuZC4=