Создание динамического массива в функции - 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]
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д