Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как передать и принять массив в функцию(процедуру)? + [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 будет нумероваться.


Наверх

Титульная страница Поиск, карта сайта Написать письмо