Ошибка В Коде

snake0202

New Member
04.04.2013
1
0
#1
Код:
var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
r:array[1..40] of real;
R,D,U,k,p:real;
j ,n:integer;

begin
D:= StrToFloat(Edit1.Text);
p:= StrToFloat(Edit2.Text);
n:= StrToInt(Edit3.Text);
k:=p/100;
U:= D*(Power((1+k),n)*k)/(Power((1+k),n)-1);
Memo1.Lines.Add('Ежегодная выплата составляет: '+FloatToStr(U));
for j := 1 to n do
begin
r[j]:=D*k;
Memo1.Lines.Add('Величина процентного займа в год :'+FloatToStr(r[j]));
end;
R:=U-r[j];
Memo1.Lines.Add('Bыплaтa основного долга в год : '+FloatToStr(R));
D:=D -R;
Memo1.Lines.Add('Остаток основного долга в год : '+FloatToStr(D));
end;
end.
 

gpatron

Active Member
13.08.2009
26
0
#2
в каком месте ошибка?
что за ошибка?

хотя.. скорее всего понял где
если у Вас в поле Edit3 будет введено значение больше 40 - будет ошибка в теле цикла (выход за пределы масива)
да и в других местах не очень хорошо написано...

и еще одно ... у Вас R объявлена 2 раза как массив и как вещественное число