Создать двумерный квадратный массив - C (СИ)

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

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

Приветствую! Моя задача: создать двумерный квадратный массив. Мой план: 1) Пользователь вводит элементы матрицы по вертикали создавая одномерный массив. 2) На основе созданного массива создаётся двумерный массив. 3) Пользователь заполняет двумерный массив. Вопросы: 1) Не могу сообразить как создавать двумерный квадратный массив. 2) Верно ли я мыслю? Моё создание одномерного массива:
int *Arr = malloc(sizeof(int));
    int Enter = -1;
    int i = 0, j = 0;
 
    while( 1 ) {
        scanf("%d",&Enter);
        if(Enter == 0) break;
        Arr[i++] = Enter;
        Arr = realloc(Arr, sizeof(int) * (i + 1));
    }
    for (j = 0; j < i; j++ ){
    //создание столбцов к созданному массиву. как правильно это сделать?  
}
PS: Гугля решение проблемы пришлось встретится с такой строкой:
int **a = (int**)malloc(n* sizeof(int*));
Что значит "**a" илми"int**"? Точнее что значит "**" ? Благодарю.

Решение задачи: «Создать двумерный квадратный массив»

textual
Листинг программы
int **A = (int **)malloc(N*sizeof(int *));
for(int i = 0; i < N; i++) {
    A[i] = (int *)malloc(M*sizeof(int));
}

Объяснение кода листинга программы

  1. В данном коде создается двумерный квадратный массив (размерностью N на M) и инициализируется значением 0.
  2. В первой строке кода используется оператор malloc для выделения памяти под указатель на первый элемент массива.
  3. Затем во внутреннем цикле for происходит выделение памяти под каждый элемент массива A[i], при этом A[i] является указателем на i-ый столбец матрицы.
  4. Каждый элемент массива A[i] инициализируется значением 0.

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


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

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

11   голосов , оценка 3.818 из 5
Похожие ответы