Як передати та прийняти масив у функцію (процедуру)
Як передати масив у функцію, яку збираюся потім ще раз викликати рекусивно (передаючи їй трохи видозмінений масив).
тобто. . private < Private declarations < //оголошую функцію function RecursiveFFT(var ending: array[0 .. VidW] of real);
//тут якийсь код, викликаю функцію
функція TForm1.RecursiveFFT(ending: array[0 .. VidW] of real); begin . // Тут якісь кракозябли . RecursiveFFT(ending); end;
як ось написав воно репетує дуже сильно на компілювання.
А насправді хочу передавати масив ending у функцію RecursiveFFT, щось там з нею зробити, порахувати якісь коефіцієнти та залежно від їхнього змісту передати знову ending у функцію(або процедуру). як це можна зробити?
І ще питання. Як із масиву вивудити всі парні елементи в один масив, а непарні в інший масив?
Спасибі за відповідь!
p.s. так глючно рекурсивно передавати масив у програму треба тому, що пишу швидке перетворення фур'є, а там просто алгоритм має бути рекурсивним. Якби на перлі яб уже написав, а так у дельфях мало шарю.
function TForm1.RecursiveFFT(var ending: array of real)
а в компіляторі включи підтримку відкритих масивів. всередині функції масив з 0 нумеруватиметься.
Або опиши масивовий тип, він у типі аргументу проходить procedure Proc(var aArray: TByteArray); З.И. До речі при out і як не дивно (але цілком логічно) const теж у стек запихається покажчик а не структура.
Угу, дякую більше за відповіді поспіваю і те й інше, а поки воно вже перестало лаятися але повідомляє у ворнінгу, що масив може не повертатися ... буду думати.