高斯消元法pascal完整程序

来源:百度知道 编辑:UC知道 时间:2024/09/20 18:38:13
急求高斯消元pascal语言完整程序,希望大牛们帮帮忙!

大概就是个模拟,和平时解方程的过程、方法是一样的
program ttdd8;
var matrix:array[1..100,1..101] of double;
temp:array[1..101] of double;
x:array[1..100] of double;
i,j,k,n:integer;
m:double;

begin
readln(n);{一共有n个式子}
for i:=1 to n do
begin
for j:=1 to n+1 do
read(matrix[i,j]);{依次读入每个式子x1,x2…的系数及常数项}
readln;
end;
for i:=1 to n-1 do{需要消元n-1次}
begin
for j:=i to n do{寻找主元,即当前要消去元素系数最大的一个式子}
if matrix[j,i]>matrix[i,i] then
begin
temp:=matrix[i];
matrix[i]:=matrix[j];
matrix[j]:=temp;
end;
for j:=i+1 to n do
begin
m:=matrix[j,i]/matrix[i,i];
matrix[j,i]:=0;
for k:=i+1 to n+1 do
matrix[j,k]:=matrix[i,k]*m-matrix[j,k];
end;
end;
x[n]:=matrix[n,n+1]/matrix[n,n];{回代过程}
for i:=n-1 downto 1 do
begin