![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как передать и принять массив в функцию(процедуру)? + [D6]
vilfred © (2002-10-18 17:25:00)Как передать массив в функцию, которую собираюсь потом еще раз вызывать рекусивно(передавая ей же немного видоизмененный массив).
т.e.
...
private
{ Private declarations }
//объявляю функцию
function RecursiveFFT(var ending: array[0 .. VidW] of real);
....
//тут какой-то код, вызываю функцию
function TForm1.RecursiveFFT(ending: array[0 .. VidW] of real);
begin
...
//тут какие-то кракозяблы
...
RecursiveFFT(ending);
end;
как вот написал оно орет очень сильно на компилирование...
А на самом деле хочу передавать массив ending в функцию RecursiveFFT, что-то там с ней сделать, посчитать какие-то коэффициенты и в зависимости от их содержания передать вновь ending в функцию(или процедуру)... как это сделать можно?
И еще вопрос. Как из массива выудить все четные элементы в один массив, а нечетные в другой массив?
Спасибо за ответ!
p.s. так глючно рекурсивно передавать массив в программу надо потому, что пишу быстрое преобразование фурье, а там просто алгоритм должен быть рекурсивным... Еслиб на перле яб уже написал, а так в дельфях мало шарю.
vilfred (2002-10-18 18:13:00) [1]Угу, спасибо больше за ответы попобую и то и другое, а пока оно уже перестало ругаться но сообщает в ворнинге, что массив может не возвращаться.. буду думать.
han_malign (2002-10-18 17:49:00) [2]Либо опиши массивовый тип, он в типе аргумента проходит
procedure Proc(var aArray: TByteArray);
З.Ы. Кстати при out и как ни странно(но вполне логично)const тоже в стек запихивается указатель а не структура.
pirat (2002-10-18 17:37:00) [3]function TForm1.RecursiveFFT(var ending: array of real)
а в крмпиляторе включи поддержку открытых массивов.
внутри функции массив с 0 будет нумероваться.