Решение системы методом Гаусса-Зейделя
Листинг программы численного решения систем линейных и алгебраических уравнений методом Гаусса-Зейделя (с проверкой сходимости при невыполнении достаточного условия сходимости метода).
program Zejdel;
uses CRT;
var i,j,n,Kk,V,k:integer;
A,B:array [1..24,1..24] of real;
E,S,Cc,Xk,C,MaxC,max,M: real;
X,Ba,Bd: array [1..24] of real;
z:char;
procedure Matrln;
begin
for var i:=1 to n do
for var j:=1 to n do
read(A[i,j]);
end;
procedure Vectln;
begin
for var i:=1 to n do
read(Ba[i]);
end;
BEGIN
ClrScr;
Repeat
write('Vvedite nomer variant V=');
readln(V);
if V=0 then
writeln('------------Testoviy primer----------')
else
writeln('------------Variant',V,'----------');
writeln('------------VVOD ISHODNIX DANNIX :----------');
write('Vvedite tochnost vichisleniu, E=');
readln(E);
write('Vvedite razmernost sistemi, N=');
readln(N);
write('Vvodite postrochno matrix A sistemi');
Matrln;
write('Vvodite vector stolbec B sistemi');
Vectln;
for i:=1 to n do begin
B[i,i]:=0;
for j:=1 to n do
if j<>i then B[i,j]:=-(A[i,j]/A[i,j]);
Bd[i]:=Ba[i]/A[i,i];
end;
C:=0;
for i:=1 to n do begin
X[i]:=Bd[i];
S:=0;
for j:=1 to n do
S:=S+abs(B[i,j]);
if C < = S then C:=S;
end;
writeln('C=',C:6:4);
if C > =1 then begin
writeln('Yslovie sxodimosti ne vipoln9ets9');
writeln('Хotite prodolshit vichisleni9,-'+'vvedite kolichestvoiterachiy');
write('(Esli net -Kk=0)Kk= ');
readln(Kk);
end;
max:=10;
maxC:=10;
while
((C < 1)and (max>E))or((MaxC>=max)and(k<=Kk)and(max>E))
do begin
inc(K);
writeln('Iterachiya k=',k);
max:=0;M:=0;
for i:=1 to n do begin;
Cc:=0;Xk:=X[i];
for j:=1 to n do
Cc:=Cc+B[i,j]*X[j];
X[i]:=Bd[i]+Cc;
M:=abs(X[i]-Xk); writeln(m:6:4); readln;
if max < M then max:=M;
end;
if k=1 then MaxC:=max;
writeln('|x-x',k-1,'|=',MaxC:6:4);
writeln('|x-x',k,'|=',max:6:4);
end;
if MaxC < max then writeln('Iterac process rasxodits9')
else if k=Kk then begin
writeln('Zadanoe kolic iterashiy',Kk,'+isherpano');
writeln('Polyshen rezyltat:');
write('X=[');
for i:=1 to n do write(X[i]:8:4);
writeln(']')
end
else begin
writeln('Reshenie dostignyto na',k,'-u iterashii');
write('X= [');
for i:=1 to n do write(X[i]:8:4);
writeln(']');
end;
write('Bydete prodolshat vichisleniy?(Y/N) Y');
z:=ReadKey;
writeln(z);
until (z='N') or(z='n');
End.
Скрин выполнения программы
Ответ: так просто подключите как модуль и будет вам на делфи