Динамический нерегулярный двумерный массив
Здесь приведен пример создания двумерного динамического массива с разным числом элементов в строках. Это так называемый не регулярный массив.
Алгоритм выполнения программы следующий: выводится запрос на ввод пользователем количества строк в двумерном массиве. После этого пользователь, по запросу вводит число элементов в каждой строке массива. Как только размеры массива определены, каждая строка массива заполняется натуральными числами, начиная с 1. Значения элементов массива построчно выводятся на экран, после чего массив удаляется из памяти и программа завершает работу. Количество элементов в каждой из строк двумерного массива разное, поэтому границы изменения второго индекса двумерного массива определяются не одним целым числом, а набором чисел, которые представлены в виде элементов целочисленного массива m. Причем ЭТОТ массив создается динамически, поскольку на момент компиляции программы общее количество строк n в массиве неизвестно, поэтому неизвестно и количество элементов массива m.
#includeusing namespace std; int main(){ int **p,*m; int n,i,j; cout<<"Enter rows number: "; cin>>n; m=new int[n]; for(i=0; i < n; i++){ cout << "Enter size of row " << i+1 << ": "; cin >> m[i];} p=new int*[n]; for(i=0; i < n; i++){ p[i]=new int[m[i]]; for(j=0; j < m[i];j++){ p[i][j]=j+1; cout << p[i][j] << " "; } cout << endl; } for(i=0; i < n; i++) delete [] p[i]; delete [] p; return 0; }