nah ini buat yang persamaannya kita tentuin sendiri dengan banyak variabel yang tidak diketahui n.
program metnum_gaus_seidel_input; uses crt; const n=3; var a : array [1..n,1..n] of real; b,x : array [1..n] of real; i,j,imax,lamda,sentinel,iter : integer; es,ea,dummy,sum,old : real; klm,brs : integer; pil : char; begin clrscr; writeln('program mencari akar sejati dg Metode Gaus Seidel'); writeln('masukan nilai untuk a[i,j] dan b[i]'); writeln('a11 x1 + a12 x2 + a13 x3 + . . . . + a1j xn = b1 '); writeln('a21 x1 + a22 x2 + a23 x3 + . . . . + a2j xn = b2 '); writeln(' . . . . . . . . . '); writeln(' . . . . . . . . . '); writeln('ai1 x1 + ai2 x2 + ai3 x3 + . . . . + aij xn = bn '); write('berapa banyak varibael yg tidak diketahui : ');readln(n); brs:=6; for i:=1 to n do begin klm:=1; for j:=1 to n do begin gotoxy(klm,brs); write('a[',i,',',j,'] : ');readln(a[i,j]); inc(klm,15); end; gotoxy(klm,brs); write('nilai b[',i,'] : ');readln(b[i]); inc(brs); end; write('nilai stopping criteria ');readln(es); write('masukan tebakan awal [y/n] ');readln(pil); if (pil='y') or (pil='Y') then begin for i:=1 to n do begin write('x[',i,'] : ');readln(x[i]); end; end else for i:=1 to n do x[i]:=0; for i:=1 to n do begin dummy:=a[i,i]; for j:=1 to n do a[i,j] := a[i,j]/dummy; b[i]:=b[i]/dummy; end; for i:=1 to n do begin sum:=b[i]; for j:=1 to n do if i<>j then sum:=sum-a[i,j]*x[j]; x[i]:=sum; end; iter:=0; repeat inc(iter); sentinel:=1; for i:=1 to n do begin old:=x[i]; sum:=b[i]; for j:=1 to n do if i<>j then sum:=sum-a[i,j]*x[j]; x[i]:=sum; if (sentinel=1) and (x[i]<>0) then begin ea:=abs((x[i]-old)/x[i]); if (ea>es) then sentinel:=0; end; end; until(sentinel=1); for i:=1 to n do writeln('nilai x[',i,'] : ',x[i]:8:5); writeln('nilai ea : ',es:8:5); writeln('nilai iterasi : ',iter); readln; end.