Зеркально отобразить элементы матрицы относительно побочной диагонали - 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;
}

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

В данном коде:

  1. Объявлены три переменные: N, i, j. N - это размер матрицы, i и j - это индексы для обхода матрицы.
  2. Затем идет функция func, которая будет зеркально отображать элементы матрицы относительно побочной диагонали. В этой функции используются два вложенных цикла, которые проходят по всем элементам матрицы. Внутри этих циклов происходит обмен элементов.
  3. В функции main создается матрица ARR размерности NxN. Все элементы этой матрицы инициализируются случайными числами от 0 до 99.
  4. Затем вызывается функция func, которая зеркально отображает элементы матрицы относительно побочной диагонали.
  5. После этого выводится исходная матрица, а затем матрица после применения функции func.
  6. В конце программы все элементы матрицы освобождаются с помощью функции free.

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


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

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

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