{$N+}Program M; CONST n=3; TYPE matice=array[1..n,1..n] of real; vektor=array[1..n] of real; PROCEDURE MULTI(m2:matice; x2:vektor; VAR x3:vektor); VAR l,m:integer; BEGIN FOR l:=1 to n DO x3[l]:=0; FOR l:=1 to n DO FOR m:=1 to n DO x3[l]:=x3[l]+m2[l,m]*x2[m]; END; PROCEDURE NORM(VAR x4:vektor); VAR o:integer; celk:real; BEGIN celk:=0; FOR o:=1 to n DO celk:=celk+x4[o]*x4[o]; celk:=sqrt(celk); FOR o:=1 to n DO x4[o]:=x4[o]/celk; END; VAR m1:matice; i,j,k:integer; x,xn:vektor; filein1:text; BEGIN ASSIGN(filein1,'maticevc.dat'); RESET(filein1); FOR i:=1 to n DO FOR j:=1 to n DO READ(filein1,m1[i,j]); {FOR i:=1 to n DO FOR j:=1 to n DO m1[i,j]:=-m1[i,j];} FOR i:=1 to n DO x[i]:=1; FOR j:=1 to 20 DO BEGIN MULTI(m1,x,xn); FOR i:=1 to n DO WRITELN((xn[i]/(x[i])):5:3); NORM(xn); WRITELN; FOR i:=1 to n DO x[i]:=xn[i]; READLN; END; WRITELN('Vysledek'); MULTI(m1,x,xn); FOR i:=1 to n DO WRITELN((xn[i]/(x[i])):5:3); WRITELN; NORM(xn); FOR i:=1 to n DO WRITE((xn[i]):5:3,' '); WRITELN; CLOSE(filein1); READLN; END.