Зеркально отобразить элементы матрицы относительно побочной диагонали - C (СИ)

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

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

использовать функцию которая зеркально отобразит элементы матрицы относительно побочной диагонали

Решение задачи: «Зеркально отобразить элементы матрицы относительно побочной диагонали»

textual
Листинг программы
  1. #include <stdio.h> //заголовочный файл который содержит функции ввода/вывода
  2. #include <time.h>
  3. #include <stdlib.h>
  4.  
  5. #define N 10
  6.  
  7. void func(int**& ARR, int size_arr) {
  8.     int temp;
  9.     int i = 0, j;
  10.     for (;i < size_arr; i++)
  11.         for (j = 0; j < size_arr-(i+1); j++) {
  12.             temp = ARR[i][j];
  13.             ARR[i][j] = ARR[size_arr - j -1][size_arr - i-1];
  14.             ARR[size_arr - j - 1][size_arr - i - 1] = temp;
  15.         }
  16. }
  17.  
  18. int main() {
  19.     int i = 0, j;
  20.     srand((unsigned int)time(NULL));
  21.     int** ARR = (int**)malloc(sizeof(int*)*N);
  22.     for (;i < N; i++) {
  23.         ARR[i] = (int*)malloc(sizeof(int)*N);
  24.         for (j = 0; j < N; j++)
  25.             printf("%d\t", (ARR[i][j] = rand() % 100));
  26.         printf("\n");
  27.     }
  28.     func(ARR, N);
  29.     printf(":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n");
  30.     printf(":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n");
  31.     for (i=0;i < N; i++) {
  32.         for (j = 0; j < N; j++)
  33.             printf("%d\t", ARR[i][j]);
  34.         printf("\n");
  35.         free(ARR[i]);
  36.     }
  37.     free(ARR);
  38.     return NULL;
  39. }

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

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

  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы