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