Переместить элементы периметра прямоугольной матрицы на 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"); }
Объяснение кода листинга программы
- Объявляются переменные M и N для ввода количества строк и столбцов матрицы соответственно.
- С помощью функции scanf осуществляется ввод матрицы А.
- Выполняется вывод матрицы А на экран.
- Переменная r инициализируется значением элемента A[0][0].
- В цикле для перемещения элементов периметра матрицы влево верхний правый нижний угол:
- элементы 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
- Перемещенный элемент A[0][0] присваивается переменной r.
- Выполняется повторный вывод матрицы А на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д