Переместить элементы периметра прямоугольной матрицы на 1 элемент по часовой стрелке - C (СИ)

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

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

Дана прямоугольная матрица А.Переместить элементы её периметра на 1 элемент по часовой стрелке.Вот такая вот задачка,нужна помощь в написании кода

Решение задачи: «Переместить элементы периметра прямоугольной матрицы на 1 элемент по часовой стрелке»

textual
Листинг программы
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <conio.h>
#include <iostream>
 
int main()
{
setlocale(LC_ALL, "Russian");
int M, N;
printf("введите число строк\n");
scanf("%d", &M);
printf("введите число столбцов\n");
scanf("%d", &N);
double A[m][n], r;
 
//Ввод матрицы А
 
printf("\n Введите элементы матрицы А через пробел или Enter\n");
 
int i, j; //Индексы строк и столбцов
// От i нулевого до j макс
for (i = 0; i<M; i++)
for (j = 0; j<N; j++)
scanf("%lf", &A[i][j]);
  /*Вывод мтариц на экран*/
printf("\n Матрица А \n");
for (i = 0; i<M; i++)
{
printf("%d строка: ", i + 1);
for (j = 0; j<N; j++)
printf("%.1lf ", A[i][j]);
printf("\n");
getch();
}
 
r = A[0][0];
for (int i = 0; i < M - 1; i++)
  A[i][0] = A[i + 1][0];
for (i = 0; i < N - 1; i++)
  A[M - 1][i] = A[M - 1][i + 1];
for (i = M - 1; i > 0; i--)
 A[i][N - 1] = A[i - 1][N - 1];
for (i = N - 1; i > 0; i--)
  A[0][i] = A[0][i - 1];
A[0][0] = r;
//вывод
for (i = 0; i<M; i++)
{
printf("%d строка: ", i + 1);
for (j = 0; j<N; j++)
printf("%.1lf ", A[i][j]);
printf("\n");
}
system("pause");
}

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

  1. Объявляются переменные M и N для ввода количества строк и столбцов матрицы соответственно.
  2. С помощью функции scanf осуществляется ввод матрицы А.
  3. Выполняется вывод матрицы А на экран.
  4. Переменная r инициализируется значением элемента A[0][0].
  5. В цикле для перемещения элементов периметра матрицы влево верхний правый нижний угол:
    • элементы A[i][0] присваивается значение A[i + 1][0] для i от 0 до M-2
    • элементы A[M-1][i] присваивается значение A[M-1][i + 1] для i от 0 до N-2
    • элементы A[i][N-1] присваивается значение A[i - 1][N-1] для i от M-1 до 1
    • элементы A[0][i] присваивается значение A[0][i - 1] для i от N-1 до 1
  6. Перемещенный элемент A[0][0] присваивается переменной r.
  7. Выполняется повторный вывод матрицы А на экран.

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


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

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

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