Top.Mail.Ru
Ответы
Аватар пользователя
9лет
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Как объявить двумерный динамический массив в C++ Builder?

Я ввожу размеры матрицы m и n с Edit, и меняю размерность StrigGrid, а как мне теперь объявить нужный массив?

По дате
По рейтингу
Аватар пользователя
Гуру
9лет

malloc'ом выделил нужное количество памяти, кинул указатель

Аватар пользователя
Оракул
9лет

Вот, православно, через встроенный класс вектор :

#include iostream
#include vector
#include algorithm
#include iterator
#include iomanip

int main()
{
const size_t row = 5;
const size_t col = 3;
std::vector<std::vector > imatrix;
// Заполнение
for(size_t i = 0; i < row; ++i)
{
std::vector temp;
for(size_t j = 0; j < col; ++j)
temp.push_back(rand() % 666);
imatrix.push_back(temp);
}
// Печать
std::for_each(imatrix.begin(), imatrix.end(), [](std::vector& ivec)
{
std::for_each(ivec.begin(), ivec.end(), [](int i)
{
std::cout << std::left << std::setw(5) << i;
});
std::cout << std::endl;
});
system("pause");
return 0;

Аватар пользователя
Мастер
9лет

int **ppArray = new int*[m];
for(int i = 0; i<n; i++)
ppArray[i] = new int[n];

....

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

delete[] ppArray;