Создание динамического массива в функции - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Что - то я не сильно догоняю.
Листинг программы
  1. void create_matrix( int ***array, int N, int M )
  2. {
  3. int i;
  4. *array = ( int** )calloc( N, sizeof(int*) );
  5. for( i = 0; i < M; i++ )
  6. *(array)[i] = ( int* )calloc( M, sizeof(int) );
  7. }
  8. void input_matrix(int ***array, int N, int M)
  9. {
  10. if( !(*array)) { printf("\nNot created matrix\n"); return; }
  11. srand( time(NULL) );
  12. int i, j;
  13. for( i = 0; i < N; i++ )
  14. for( j = 0; j < M; j++ ) { (*array)[i][j] = rand()%100 + 1; if( (*array)[i][j]%(rand()%50 + 1)) (*array)[i][j] *= -1;}
  15. for( i = 0; i < N; i++ )
  16. {
  17. for( j = 0; j < M; j++ )
  18. printf("%d ", (*array)[i][j]);
  19. printf("\n");
  20. }
  21. }
Если размерность 1 на 1 то всё нормально, а если больше то ошибка вылазит. Ни разу не передавал матрицу в функцию, а там ей динамически память выделял до этого, а теперь требует задание. Помогите, пожалуйста.

Решение задачи: «Создание динамического массива в функции»

textual
Листинг программы
  1. (*array)[i]

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы