Работа с матрицами (без использования динамических массивов) - C (СИ)
Формулировка задачи:
Создать квадратную матрицу B размером 9х9 и заполнить ее адресами элементов матрицы А. Распечатать матрицу B на дисплее в формализованном виде.
Как это сбелать без использования динамических массивов?
Решение задачи: «Работа с матрицами (без использования динамических массивов)»
textual
Листинг программы
#include <stdio.h>
int main()
{
int A[9][9] = { 0 };
int *B[9][9];
for (unsigned i = 0; i < 9; ++i)
for (unsigned j = 0; j < 9; ++j)
B[i][j] = &A[i][j];
for (unsigned i = 0; i < 9; ++i)
{
for (unsigned j = 0; j < 9; ++j)
printf("%16p ", (void *) B[i][j]);
printf("\n");
}
}
Объяснение кода листинга программы
- Подключается стандартная библиотека ввода-вывода
- В основной функции программы main() инициализируется двумерный массив A размером 9x9 значением 0.
- Создается двумерный массив B размером 9x9, в котором будут храниться указатели на элементы массива A.
- С помощью двух вложенных циклов для каждого элемента массива B присваивается адрес соответствующего элемента массива A.
- С помощью двух вложенных циклов для каждого элемента массива B выводится его адрес.
- Программа завершается.