Создать двумерный квадратный массив - C (СИ)
Формулировка задачи:
Приветствую!
Моя задача: создать двумерный квадратный массив.
Мой план:
1) Пользователь вводит элементы матрицы по вертикали создавая одномерный массив.
2) На основе созданного массива создаётся двумерный массив.
3) Пользователь заполняет двумерный массив.
Вопросы:
1) Не могу сообразить как создавать двумерный квадратный массив.
2) Верно ли я мыслю?
Моё создание одномерного массива:
PS:
Гугля решение проблемы пришлось встретится с такой строкой:
Что значит "**a" илми"int**"? Точнее что значит "**" ?
Благодарю.
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++ ){ //создание столбцов к созданному массиву. как правильно это сделать? }
int **a = (int**)malloc(n* sizeof(int*));
Решение задачи: «Создать двумерный квадратный массив»
textual
Листинг программы
int **A = (int **)malloc(N*sizeof(int *)); for(int i = 0; i < N; i++) { A[i] = (int *)malloc(M*sizeof(int)); }
Объяснение кода листинга программы
- В данном коде создается двумерный квадратный массив (размерностью N на M) и инициализируется значением 0.
- В первой строке кода используется оператор malloc для выделения памяти под указатель на первый элемент массива.
- Затем во внутреннем цикле for происходит выделение памяти под каждый элемент массива A[i], при этом A[i] является указателем на i-ый столбец матрицы.
- Каждый элемент массива A[i] инициализируется значением 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д