Объяснение:
C ++
// C ++ реализация вышеуказанного подхода
#include <bits/stdc++.h>
using namespace std;
#define N 4
// Функция для поворота матрицы на 90 градусов по часовой стрелке
void rotate90Clockwise(int a[N][N])
{
// Обходить каждый цикл
for (int i = 0; i < N / 2; i++) {
for (int j = i; j < N - i - 1; j++) {
// Меняем местами элементы каждого цикла
// по часовой стрелке
int temp = a[i][j];
a[i][j] = a[N - 1 - j][i];
a[N - 1 - j][i] = a[N - 1 - i][N - 1 - j];
a[N - 1 - i][N - 1 - j] = a[j][N - 1 - i];
a[j][N - 1 - i] = temp;
}
// Функция для матрицы печати
void printMatrix(int arr[N][N])
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++)
cout << arr[i][j] << " ";
cout << '\n';
// Код драйвера
int main()
int arr[N][N] = { { 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 10, 11, 12 },
{ 13, 14, 15, 16 } };
rotate90Clockwise(arr);
printMatrix(arr);
return 0;
Объяснение:
C ++
// C ++ реализация вышеуказанного подхода
#include <bits/stdc++.h>
using namespace std;
#define N 4
// Функция для поворота матрицы на 90 градусов по часовой стрелке
void rotate90Clockwise(int a[N][N])
{
// Обходить каждый цикл
for (int i = 0; i < N / 2; i++) {
for (int j = i; j < N - i - 1; j++) {
// Меняем местами элементы каждого цикла
// по часовой стрелке
int temp = a[i][j];
a[i][j] = a[N - 1 - j][i];
a[N - 1 - j][i] = a[N - 1 - i][N - 1 - j];
a[N - 1 - i][N - 1 - j] = a[j][N - 1 - i];
a[j][N - 1 - i] = temp;
}
}
}
// Функция для матрицы печати
void printMatrix(int arr[N][N])
{
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++)
cout << arr[i][j] << " ";
cout << '\n';
}
}
// Код драйвера
int main()
{
int arr[N][N] = { { 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 10, 11, 12 },
{ 13, 14, 15, 16 } };
rotate90Clockwise(arr);
printMatrix(arr);
return 0;
}