Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2008, 18:49   #1
Cannibal
Форумчанин
 
Регистрация: 17.02.2008
Сообщений: 191
Вопрос Ошибка переполнения стека

в программе на выделенной строке вылетает ошибка переполнения стека, еолько не пойму из-за чего
Код:
procedure TForm1.N2Click(Sender: TObject);
type mas=array[0..100000]of real;

var a,b,h,e,int1,int2,s:real;
    x,y:mas;
    i,N:longint;
begin a:=strtofloat(edit2.Text);
      b:=strtofloat(edit3.Text);
      h:=b-a;
      e:=strtofloat(edit5.Text);
      n:=1;
      int2:=h*(b-a)/2;
      repeat int1:=int2;
             h:=h/2;
             n:=n*2;
             x[0]:=a;
             for i:=1 to n do
                 x[i]:=x[i-1]+h;
             for i:=1 to n do
                 recogn(changeVar(edit1.Text,'x',x[i]),y[i]);
             s:=(y[0]+y[n])/2;
             for i:=1 to n-1 do
                 s:=s+y[i];
             int2:=h*s;
      until abs(int1-int2)<e;
end;
Mathematicians often mix up Christmas and Halloween, because Dec.25=Oct.31.
Cannibal вне форума Ответить с цитированием
Старый 01.12.2008, 21:32   #2
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

В коде объявлено x,y:mas - это 2*100000*8=1,2Мб памяти, причем эта память выделяется в стеке, т.к. переменные x и y локальные. По умолчанию для стека выделяется 1 Мб. Можно или использовать динамические массивы или в настройках проекта увеличить предельный размер стека.
Jeni вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка "Переполнения" Tanuska___:) БД в Delphi 0 08.10.2008 12:58
помогите. массив не взамодействует с функцией. какая-то ошибка стека. koir Паскаль, Turbo Pascal, PascalABC.NET 5 10.06.2008 08:32
Ошибка переполнения стека из-за использования рекурсий Morrigan13 Помощь студентам 5 02.04.2008 08:04
Заполнение стека inkvizitor Общие вопросы Delphi 5 08.10.2007 17:01