Такая проблема: Цель программы посчитать через функцию сумму (X(i)^i)/i. И через эту функцию найти S1 = сумме(X(i)^i)/i,S3 = сумме((X(i)-S1)^i)/i и S3 = сумме((X(i)-S2)^i)/i.
Программа нормально компилируется, но при запуске выдает ошибку "Runtime error 207 at 0000:007E". Причем выдает ее после вывода S1. Может я программу неправильно написал? Не могли бы вы посмотреть и объяснить, в чем проблема? Заранее благодарен...
Код
Program Lab8_2;
Uses crt;
Type mas = array [1..100] of real;
Var n,i:integer;
S1,S2,S3:real;
x:mas;
Function Sum_f(x1:mas; n1:integer):real;
Var S:real;
begin
S:=x1[1];
For i:=2 to n1 do
Begin
S:=S+exp(i*ln(x1[i]))/i;
End;
Sum_f:=S;
end;
Begin
clrscr;
Write('Enter n:');
readln(n);
writeln('n=',n);
For i:=1 to n do
Begin
Writeln('Enter x[',i,']');
readln(x[i]);
End;
S1:=Sum_f(x,n);
Writeln('S1=',S1);
For i:=1 to n do
x[i]:=x[i]-S1;
S2:=Sum_f(x,n);
Writeln('S2=',S2);
For i:=1 to n do
x[i]:=x[i]-S2;
S3:=Sum_f(x,n);
writeln('S3=',S3);
readkey;
End.