imho.ws |
![]() |
![]() |
![]() |
# 1 |
Guest
Сообщения: n/a
|
![]()
Подскажите, плиз, как при помощи указателя на указатель создать 2-ый массив.
Моя прога вроде бы и работает, но после getch'а выпадает либо Unhandled exception in 4.exe: 0xC0000005: Access Violation, либо - синий экран смерти. int *cols=new int[5];//кол-во строк int **b=&cols;//указатель на массив указателей cols for(int i=0;i<5;i++) //кол-во элементов в каждой строке *(b+i)=new int[5]; for(i=0;i<5;i++) for(int j=0;j<5;j++) b[i][j]=i*5+j; for(i=0;i<5;i++){ for(int j=0;j<5;j++) cout<<b[i][j]<<" "; cout<<endl; } getch(); |
![]() |
# 2 |
Member
Регистрация: 10.03.2002
Адрес: Israel
Сообщения: 245
![]() ![]() |
>>int *cols=new int[5];//кол-во строк
>>int **b=&cols;//указатель на массив указателей cols Это не указатель на массив указателей, это указатель на указатель на массив int-тов. попробуй так: Код:
int** b= new (int*[5]); for(int i=0;i<5;i++) b[i]=new int[5]; for(i=0;i<5;i++) for(int j=0;j<5;j++) b[i][j]=i*5+j; for(i=0;i<5;i++) { for(int j=0;j<5;j++) cout<<b[i][j]<<" "; cout<<endl; } getch(); //не забудь удалить for( i=0;i<5;i++) delete[](b[i]); delete[] b;
__________________
Best Regards |
![]() |