Создание динамического массива в функции - C (СИ)
Формулировка задачи:
Что - то я не сильно догоняю.
Если размерность 1 на 1 то всё нормально, а если больше то ошибка вылазит. Ни разу не передавал матрицу в функцию, а там ей динамически память выделял до этого, а теперь требует задание. Помогите, пожалуйста.
void create_matrix( int ***array, int N, int M )
{
int i;
*array = ( int** )calloc( N, sizeof(int*) );
for( i = 0; i < M; i++ )
*(array)[i] = ( int* )calloc( M, sizeof(int) );
}
void input_matrix(int ***array, int N, int M)
{
if( !(*array)) { printf("\nNot created matrix\n"); return; }
srand( time(NULL) );
int i, j;
for( i = 0; i < N; i++ )
for( j = 0; j < M; j++ ) { (*array)[i][j] = rand()%100 + 1; if( (*array)[i][j]%(rand()%50 + 1)) (*array)[i][j] *= -1;}
for( i = 0; i < N; i++ )
{
for( j = 0; j < M; j++ )
printf("%d ", (*array)[i][j]);
printf("\n");
}
}Решение задачи: «Создание динамического массива в функции»
textual
Листинг программы
(*array)[i]