як перетворити одномірний масив в двомірний? с++
Ответы на вопрос
#include <iostream> // для cout
using namespace std; // щоб не писати std::cout
int main() // головна функція
{
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // одновимірний масив
int rows = 2; // кількість рядків
int cols = 5; // кількість стовпців
int **arr2d = new int*[rows]; // двовимірний масив
for (int i = 0; i < rows; ++i) // виділення пам'яті
arr2d[i] = new int[cols];
for (int i = 0; i < rows; ++i) // заповнення двовимірного масиву
for (int j = 0; j < cols; ++j)
arr2d[i][j] = arr[i * cols + j];
for (int i = 0; i < rows; ++i) // вивід двовимірного масиву
{
for (int j = 0; j < cols; ++j)
cout << arr2d[i][j] << " ";
cout << endl;
}
for (int i = 0; i < rows; ++i) // звільнення пам'яті
delete[] arr2d[i];
delete[] arr2d;
return 0;
}