БЕСПЛАТНОЕ РЕШЕНИЕ ЗАДАЧ

Динамический нерегулярный двумерный массив

Здесь приведен пример создания двумерного динамического массива с разным числом элементов в строках. Это так называемый не регулярный массив.

#include 
using 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;
}
Алгоритм выполнения программы следующий: выводится запрос на ввод пользователем количества строк в двумерном массиве. После этого поль­зователь, по запросу вводит число элементов в каждой строке массива. Как только размеры массива определены, каждая строка массива заполняется натуральными числами, начиная с 1. Значения элементов массива по­строчно выводятся на экран, после чего массив удаляется из памяти и про­грамма завершает работу. Количество элементов в каждой из строк двумерного массива разное, поэтому границы изменения второго индекса двумерного массива определяются не одним целым числом, а набором чисел, которые представлены в виде элементов целочисленного массива m. Причем ЭТОТ массив создается динамически, поскольку на момент компиляции програм­мы общее количество строк n в массиве неизвестно, поэтому неизвестно и количество элементов массива m.

Оставить комментарий

Вы должны быть авторизованы , чтобы оставить или оценить комментарий.

Онлайн всего: 11
Гостей: 11
Пользователей: 0

STUDLAB Сообщить про опечатку на сайте