Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Double trouble с двумерными массивами


Автор: Guest 22.8.2005, 05:30
Вот простейший код для динамического создания одномерного массива:
Код

    int N;
    float *B;

    N = 3;
    B = new float[N];
    *B = ( 7, 4, 6 );


Похоже, всё правильно сделал.
Вопрос: как "то же самое" проделать с двумерным массивом? smile
Т.е. обе размерности задаются во время выполнения и потом идет присваивание через круглые скобки. Бился долго и сдался, объявлял как float** - не хочет, и т.д. smile Мне потом этот двумерный массив надо в функцию подставлять, наверное вместо float*. И вообще, делетить надо это дело?
Помогите плз и простите за тупняк. smile Это называется после шарпа на сях решил покодить...

Автор: chaos 22.8.2005, 05:59
сначала вопрос: зачем создавать динамический массив если ты собираешься
Цитата
и потом идет присваивание через круглые скобки
?
а вообще динам. 2 массвив создается так
Код

int i;

float **mtx;
mtx = new float*[n];

for (i = 0; i < n; i++)
    mtx[i] = new float[m];

//...

for (i = 0; i < n; i++)
    delete[] mtx[i];
delete[] mtx;

Автор: Guest 22.8.2005, 21:02
Цитата(chaos @ 22.8.2005, 05:59)
зачем создавать динамический массив если ты собираешься
Цитата
и потом идет присваивание через круглые скобки

Нужно работать с массивами разных размеров и с разными элементами, но известными заранее.

Спасибо за помощь, но контсрукцию
Код

mtx = new float*[n];

просто не понимаю -- массив указателей что-ли? Почему тогда именно там * стоит? Как-то неестественно, сам бы ни за что не допер smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)