Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Metoda Seidla:
- {$N+}
- program urlSeidel;
- uses Crt;
- type wek = array [1..20] of Extended;
- mac = array [1..20, 1..20] of Extended;
- var i, it, j,l, l0, n, st,zn : Integer;
- e,s,z,b : Extended;
- a,h : mac;
- g,x1,x,k : wek;
- c : Boolean;
- wy :text;
- BEGIN
- assign(wy,'wynik.txt');
- rewrite(wy);
- ClrScr;
- writeln('Podaj liczbe rownan ukladu: ');
- readln (n);
- writeln('Podaj kolejne wartosci wspolczynnikow przy niewiadomych oraz dolaczonej kolumny wyrazow wolnych: ');
- for i:=1 to n do
- for j:=1 to n+1 do
- begin
- write ('a[', i, ',', j, '] = ');
- readln(a[i,j]);
- end;
- writeln ('Podaj maksymalna liczbe iteracji: ');
- readln (l0);
- writeln ('Podaj dokladnosc e: ');
- readln(e);
- writeln('Podaj poczatkowe przyblizenia wartosci:');
- for i:=1 to n do
- begin
- write ('x1[', i, '] = ');
- readln (x1[i]);
- end;
- writeln;
- i:=0;
- repeat
- i:=i+1;
- for j:=1 to n do
- begin
- g[i]:=a[i,n+1]/a[i,i];
- h[i,j]:= -a[i,j]/a[i,i];
- end;
- h[i,i]:=0;
- s:=0;
- for j:=1 to n do
- s:=s+abs(h[i,j]);
- if s>1 then c:=true;
- until i=n;
- if c=true then writeln(' Uklad rozbiezny! ')
- else
- begin
- l:=0;
- repeat
- l:=l+1;
- for i:=1 to n do
- begin
- s:=0;
- for j:=1 to i-1 do
- s:=s+h[i,j]*x[j];
- z:=0;
- for j:=i to n do
- z:=z+ h[i,j]*x1[j];
- x[i]:=g[i]+s+z;
- end;
- for i:=1 to n do
- begin
- k[i]:=abs(x[i]-x1[i]);
- x1[i]:=x[i];
- end;
- b:=0;
- for i:=1 to n do
- begin
- b:= k[i]+b;
- if b<e then
- begin
- for i:=1 to n do
- begin
- writeln(wy,'x[',i,'] = ',x[i]:4:8);
- writeln('x[',i,'] = ',x[i]:4:8);
- end;
- writeln(wy,'Liczba wykonanych iteracji: l = ',l);
- writeln('Liczba wykonanych iteracji: l = ',l);
- close(wy);
- exit;
- end;
- end;
- until l=l0;
- for i:=1 to n do
- begin
- writeln (wy,'x[', i, '] = ', x[i]:4:8);
- writeln ('x[',i,'] = ',x[i]:4:8);
- end;
- close(wy);
- writeln('Liczba wykonanych iteracji: l = ',l);
- end;
- readln;
- END.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement