• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Ошибка В Коде

  • Автор темы Автор темы snake0202
  • Дата начала Дата начала
S

snake0202

Код:
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.
 
в каком месте ошибка?
что за ошибка?

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

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

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab