⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 线性方程算法
💻
字号:
{输入方程个数n,再输入n个方程} 
{例如方程3x+2y=1,2x+7y=0,则输入: 
2 
3 2 1 
2 7 0 
} 
{使用了高斯消元法} 
program p1052;{解线性方程组}
const maxn=100;
type float=real;
int=integer;
var a:array[1..maxn,1..maxn]of float;
b:array[1..maxn]of float;
d,t,sum:float;
k,l,iii,j,m,n,ii,jj,loop:int;
ch:char;
begin
readln(n);
m:=n;
for ii:=1 to n do begin
    for jj:=1 to m do read(a[ii][jj]);
    read(b[ii]);
end;
k:=1;
d:=0;
l:=0;
while(k<=n)do begin
        d:=a[k][k];
        l:=k;
        for iii:=k+1 to n do begin
        if(abs(a[iii][k])>abs(d)) then begin
                    d:=a[iii][k];
                    l:=iii;
        end;
        end;
        if(l<>k)then begin
            for j:=k to n do begin
              t:=a[l,j];
              a[l,j]:=a[k,j];
              a[k,j]:=t;
            end;
            t:=b[k];
            b[k]:=b[l];
            b[l]:=t;
        end;
        for j:=k+1 to n do a[k,j]:=a[k][j]/a[k][k];
        b[k]:=b[k]/a[k,k];
        for iii:=k+1 to n do begin
        for j:=k+1 to n do a[iii,j]:=a[iii,j]-a[iii,k]*a[k,j];
        j:=1;
        b[iii]:=b[iii]-a[iii,k]*b[k];
        end;
        inc(k);
end;
for iii:=n-1 downto 1 do begin
    sum:=0;
    for j:=iii+1 to n do sum:=sum+a[iii,j]*b[j];
    b[iii]:=b[iii]-sum;
end;
for loop:=1 to n do begin
    if loop=n then ch:=chr(13) else ch:=' ';
    write(round(b[loop]),ch);
end;
readln;
readln;
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -