Я создал программу для построения двумерного массива, используя пользовательский ввод, используя динамическое распределение памяти * c в c ++. Программа была успешно скомпилирована и работает, но создает только небольшие 2-мерные массивы (например, размером 2х2). Когда я пытаюсь создать массив большего размера, exe-программа останавливается после ввода пользовательского ввода, показывая небольшое окно с сообщением «array.exe перестала работать». Пожалуйста, помогите мне в определении проблемы.
{
int a,b,i,j;
cout << "how many columns do you want in array ? ";
cin >> a;
cout << "how many rows do you want in array ";
cin >> b;
int * * ptr = new int * [b];
for(i=0;i<a;i++){
ptr[i] = new int[i];
}
for(i=0;i<b;i++){
cout << "enter elements of row no. " << i+1 << endl;
for(j=0;j<a;j++){
cout << "enter element no. " << j+1 << endl;
cin >> ptr[i][j];
}
}
cout << "array completed.press enter to view the array" << endl;
_getch();
system("cls");
for(i=0;i<b;i++){
for(j=0;j<a;j++){
cout << ptr[i][j] << " ";
}
cout << "\n";
}
for(i=0;i<a;i++){
delete[] ptr[i];
}
delete[] ptr;
return 0;
}