Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.28;
Скачать: CL | DM;

Вниз

как передать и принять массив в функцию(процедуру)? +   Найти похожие ветки 

 
vilfred   (2002-10-18 17:25) [0]

Как передать массив в функцию, которую собираюсь потом еще раз вызывать рекусивно(передавая ей же немного видоизмененный массив).

т.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. так глючно рекурсивно передавать массив в программу надо потому, что пишу быстрое преобразование фурье, а там просто алгоритм должен быть рекурсивным... Еслиб на перле яб уже написал, а так в дельфях мало шарю.


 
pirat ©   (2002-10-18 17:37) [1]

function TForm1.RecursiveFFT(var ending: array of real)

а в крмпиляторе включи поддержку открытых массивов.
внутри функции массив с 0 будет нумероваться.


 
han_malign ©   (2002-10-18 17:49) [2]

Либо опиши массивовый тип, он в типе аргумента проходит
procedure Proc(var aArray: TByteArray);
З.Ы. Кстати при out и как ни странно(но вполне логично)const тоже в стек запихивается указатель а не структура.


 
vilfred   (2002-10-18 18:13) [3]

Угу, спасибо больше за ответы попобую и то и другое, а пока оно уже перестало ругаться но сообщает в ворнинге, что массив может не возвращаться.. буду думать.



Страницы: 1 вся ветка

Текущий архив: 2002.10.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
3-92406
sndanil
2002-10-05 16:33
2002.10.28
Проблема с производительностью в Interbase


8-92616
toma2
2002-07-02 20:22
2002.10.28
Canvas


1-92466
Геннадий
2002-10-16 22:23
2002.10.28
Не получается у меня с потоками...


4-92812
Alexander
2002-09-17 12:40
2002.10.28
Как программно удалить принтер из системы?


14-92699
vopros
2002-10-07 11:28
2002.10.28
у КОГО КАКИЕ ЛЮБИМЫЕ ПЕСНИ?