Повернуть заданную квадратную матрицу на 180 градусов в положительном направлении - C (СИ)

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

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

Дана квадратная матрица порядка 2n. Повернуть ее на 180 градусов в положительном направлении.

Решение задачи: «Повернуть заданную квадратную матрицу на 180 градусов в положительном направлении»

textual
Листинг программы
#include <stdio.h>
#define N 9
int main(void)
{
    int A[N][N], i, j, t = 1;
    int *n,*k, v;
    n = &A[0][0];
    k = &A[0][0] + N * N - 1;
    puts("Source array:");
    for(i = 0; i < N; ++i){
        for(j = 0; j < N; ++j, ++t)
            printf("%3d", A[i][j] = t);
        printf("\n");
    }
    while(n!=k){v=*n;*n=*k;*k=v;++n;--k;}
    puts("");
    for(i = 0; i < N; ++i){
        for(j = 0; j < N; ++j)
            printf("%3d", A[i][j]);
        printf("\n");
    }
return 0;
}

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

В данном коде выполняется поворот квадратной матрицы на 180 градусов в положительном направлении.

  1. Объявляются переменные:
    • A[N][N] - массив, представляющий собой квадратную матрицу размером N на N;
    • i, j - индексы, используемые для обхода матрицы;
    • t - временная переменная, используемая для обмена значениями элементов матрицы;
    • n, k - указатели, используемые для обмена значениями элементов матрицы;
    • v - временная переменная, используемая для сохранения значения элемента матрицы;
    • N - размер матрицы.
  2. Выполняется итеративный вывод исходной матрицы с помощью цикла for и функции printf. Значения элементов матрицы выводятся в формате 3-х значного числа.
  3. Инициализируются указатели n и k. Указатель n указывает на первый элемент матрицы, а указатель k - на последний элемент матрицы.
  4. Запускается цикл while, который выполняется до тех пор, пока n не станет равен k. В каждой итерации цикла выполняется обмен значениями элементов матрицы, на которые указывают n и k. Для сохранения значения элемента матрицы, на который указывает n, используется временная переменная v.
  5. Выполняется итеративный вывод повернутой матрицы с помощью цикла for и функции printf. Значения элементов матрицы выводятся в формате 3-х значного числа.
  6. Функция main() возвращает 0, что означает успешное выполнение программы.

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


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

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

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