|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
| 
			 
			#1  
			
			
			
			
		 | |||
| 
 | |||
|  Передача массива в процедуру с помощью указателя var DATA : array of Float; //динамический массив, размер которого задаю в тексте программы. DATAlength: integer; i,num: integer; //далее идёт процедура, которая находит максимальный элемент в массиве, и возвращает номер этого элемента в массиве. В эту процедуру нужно передать массив(точнее указатель на массив, чтобы не загружать память) procedure maxelement(mass : array of Float; mNFFT : integer; var element : integer); begin element:=0; for i:=1 to mNFFT-1 do begin if abs(mass[i])>abs(mass[element]) then element:=i; end; end; //далее идёт кусок из текста, в котором обращаюсь к процедуре setlength(DATA, DATAlength); ... maxelement(DATA, DATAlength, num); Правильно ли я понимаю, что если оставить всё как описано выше, то в процедуру передаётся массив целиком, а не указатель на него? Если всё таки это передача указателя, то почему когда передаю массивы размерности примерно 100000 - 150000 элементов всё в порядке. А как передаю массив примерно на 360000 элементов, выскакивает ошибка в ходе выполнения программы, о каком-то переполнении. Подскажите пожалуйста как решить эту проблему. |