Зеркально отобразить элементы матрицы относительно побочной диагонали - C (СИ)
Формулировка задачи:
использовать функцию которая зеркально отобразит элементы матрицы относительно побочной диагонали
Решение задачи: «Зеркально отобразить элементы матрицы относительно побочной диагонали»
textual
Листинг программы
- #include <stdio.h> //заголовочный файл который содержит функции ввода/вывода
- #include <time.h>
- #include <stdlib.h>
- #define N 10
- void func(int**& ARR, int size_arr) {
- int temp;
- int i = 0, j;
- for (;i < size_arr; i++)
- for (j = 0; j < size_arr-(i+1); j++) {
- temp = ARR[i][j];
- ARR[i][j] = ARR[size_arr - j -1][size_arr - i-1];
- ARR[size_arr - j - 1][size_arr - i - 1] = temp;
- }
- }
- int main() {
- int i = 0, j;
- srand((unsigned int)time(NULL));
- int** ARR = (int**)malloc(sizeof(int*)*N);
- for (;i < N; i++) {
- ARR[i] = (int*)malloc(sizeof(int)*N);
- for (j = 0; j < N; j++)
- printf("%d\t", (ARR[i][j] = rand() % 100));
- printf("\n");
- }
- func(ARR, N);
- printf(":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n");
- printf(":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n");
- for (i=0;i < N; i++) {
- for (j = 0; j < N; j++)
- printf("%d\t", ARR[i][j]);
- printf("\n");
- free(ARR[i]);
- }
- free(ARR);
- return NULL;
- }
Объяснение кода листинга программы
В данном коде:
- Объявлены три переменные: N, i, j. N - это размер матрицы, i и j - это индексы для обхода матрицы.
- Затем идет функция func, которая будет зеркально отображать элементы матрицы относительно побочной диагонали. В этой функции используются два вложенных цикла, которые проходят по всем элементам матрицы. Внутри этих циклов происходит обмен элементов.
- В функции main создается матрица ARR размерности NxN. Все элементы этой матрицы инициализируются случайными числами от 0 до 99.
- Затем вызывается функция func, которая зеркально отображает элементы матрицы относительно побочной диагонали.
- После этого выводится исходная матрица, а затем матрица после применения функции func.
- В конце программы все элементы матрицы освобождаются с помощью функции free.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д