F
flip
У меня не сильно складываются отношения с Паскалем))) Нужно перевести программку на С++. Помогите, пожалуйста, буду очень признателен. Заранее спасибо
Код:
TYPE MAT=ARRAY [1..10, 1..10] OF REAL;
VEC=ARRAY [1..10] OF REAL;
VAR I,K,M,N: INTEGER; E,L: REAL; A:MAT; X:VEC;
PROCEDURE MATR (N:INTEGER; VAR X:VEC; VAR A:MAT);
VAR I,J: INTEGER;
BEGIN
FOR I:=1 TO N DO BEGIN WRITE (‘X’, I:2, ‘?’); READLN (X[I]);
FOR J:=1 TO N DO BEGIN
WRITE (‘A’,I:2,J:2,’?’); READLN (A[I,J])
END
END
END;
PROCEDURE EIGEN (N,M : INTEGER; VAR X:VEC; VAR A:MAT; E:REAL; VAR L:REAL; VAR K:INTEGER);
VAR I,J: INTEGER; R,S: REAL; Y:VEC;
BEGIN K:=0; L:=0.0;
REPEAT R:=L; K:=K+1; L:=0.0;
FOR I:=1 TO N DO BEGIN S:=0.0;
FOR J:=1 TO N DO S:=A[I,J]*X[J];
IF ABS (S)> ABS (L) THEN L:=S;
Y[I]:=S
END;
FOR I:=1 TO N DO X[I]:=Y[I]/L
UNTIL (K=M) OR (ABS((L-R)/L)<E)
END;