对于输入的方程系数,求二元一次方程组的解.

来源:百度知道 编辑:UC知道 时间:2024/06/07 05:17:22
用PASCAL 编程怎么做?

刚在上一个问题上答完, 给你再贴过来吧.

可以用高斯约旦(Gauss-Jordan)法进行进行消元. 对任意的N元一次方程组都可以解. 我以前回答过, 见http://zhidao.baidu.com/question/1196720.html.

只不过那里只讲了做法, 没有具体用算法实现. 要用pascal编程也简单, 把各系数存入一个二维数组中(对于二元一次方程组, 数组大小为 3 * 2, 三元一次方程组为 4 * 3, 等等), 然后按所介绍的方法进行就可以了.

下面是我刚刚编完的, 请参考一下:

program SolveEquation;
const //为数组的行数与列数, 你可以修改它以适应其它元数的方程组
Rows = 2;
Cols = 3;
var
C: array[1..Rows, 1..Cols] of Real; //系数及常数项
R1, R2: Real;
m,n,i: Integer;
begin
// 输入
Writeln('The Equation is ax + by = c:');
Write(' Input the coefficients (a, b, c) of the 1st equation: ');
Readln(C[1,1], C[1,2], C[1,3]);
Write(' Input the coefficients (a, b, c) of the 2nd equation: ');
Readln(C[2,1], C[2,2], C[2,3]);

//高斯消元
for n := 1 to Rows do
begin
R1 := C[n,n];
for m := 1 to