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


Автор: Bugmaker 28.10.2010, 10:05
Товарищи, подскажите как удалить столбец из матрицы, находящейся в динамической памяти?
и в чем разница между :
Код

int **matrix;
matrix=(int**)malloc(strok*sizeof(int*));
or (int i=0; i< strok; i++)
matrix[i]=(int*)malloc(stolbcov*sizeof(int*));  

 for (int i=0; i< strok; i++)
     {
     cout << "\n";
     for (int j=0; j< stolbcov; j++)
         {
         matrix[i][j]=i+j;
         cout << matrix[i][j];                          
         }
     }  


и

Код

    int *pMatrix[strok];    
    for (int i=0;i<strok;i++)
    {
            pMatrix[i]=new int[stolbcov];  //csozdanie massiva
    }    
         for (int i=0;i<strok;i++)
         {
          cout <<"\n";
          for (int j=0; j<stolbcov; j++)
              {
               //cout<<"i"<<i<<"j"<<j;
               pMatrix[i][j]=i+j;
               cout << pMatrix[i][j] << " ";       //zapolnenie massiva
               }
          }  



В данном случае есть разница использовать new-delete или malloc-free?

И еще один вопрос.
Для объявления двумерного массива, надо сначала объявить массив указателей, потом в каждом из них объявить еще массив... а если у меня массив не двухмерный а двадцатимерный... как быть?

Автор: Леопольд 28.10.2010, 12:36
Цитата(Bugmaker @  28.10.2010,  10:05 Найти цитируемый пост)
а если у меня массив не двухмерный а двадцатимерный... как быть? 
http://boost::multiarray
или http://forum.vingrad.ru/act-ST/f-92/t-309763/view-findpost/p-2224073.html smile

Автор: Bugmaker 29.10.2010, 08:41
Вопрос по поводу удаления столбца\строки?? Часто встречается в курсовых и задачах студентов. Что вообще в данном случае подразумевают под словом удалить?? Если освободить память, то все равно по обращению по данном индеску будут доступны прежние данные, даже если поменять размерность массива, разве не так? 

Автор: Леопольд 29.10.2010, 10:48
Цитата(Bugmaker @  29.10.2010,  08:41 Найти цитируемый пост)
Что вообще в данном случае подразумевают под словом удалить?
Вопрос к преподу...

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