Как работать с массивами в С++

Kabbalah 17.03.2004 - 00:32 | Приветствую! Коллеги, помогайте. Не соображу как сделать простую вещь: мне нужно динамически создать и передать функции для заполнения массив... short c_table[FT_SIZE][FT_SIZE][2]; С одномерными массивами все просто, //------------------------------------------- void foo(short *t, int len) { for (int i = 0; i < len; i++} t[i] = i; } short *table = new short[ft_size]; foo(table, ft_size); delete[] table; //------------------------------------------- а как быть с хитрым таким не знаю... как мне подобным же образом определить и обработать сложный массив.
SergeyCh 1 - 17.03.2004 - 01:28 | тип **mas; *mas = new тип [размерность]; for(int i = 0; i < размерность; i++) mas[i] = new тип [размерность2]; ... for(int i = 0; i < размерность; i++) delete mas[i]; delete mas;
Kabbalah 2 - 17.03.2004 - 15:22 | Сделал так, оказалось, что в алгоритме не особенно важна матричная адресация, а можно просто заменить произведением: void foo(short *t, int len) { for (int i = 0; i < len; i++} for (int j = 0; j < len; j++} { t[i * j * 2] = ...; t[i * j * 2 + 1] = ...; } } //----------------------------------------- short *table = new short[ft_size * ft_size * 2]; foo(table, ft_size); ... delete[] table;
XPEH 3 - 17.03.2004 - 15:28 | Введи лок. переменную для значения i * j * 2. Все же внутри вложенного цикла.
Наф 4 - 17.03.2004 - 18:32 | [2] вот так можно //нужен массив n-мерный массив L1*L2*...*Ln MyType v[L1*L2*...*Ln]; //обращение к элементу [x1,x2,...xn] v[(...(L1*x1)+L2)*x2+L3)*...)+xn] нормально а то я оч. жестко отмечаю день рождения дочки http://www.kuban.ru/cgi-bin/forum/forum2.cgi?page=1&ask=13101
Kabbalah 5 - 19.03.2004 - 00:00 | Вот спасибо, друзья, разобрался. 8-)

>>