From 5261f184670fa2b738d1dc2625207f8bbc6191a4 Mon Sep 17 00:00:00 2001 From: Ninja-2408 <116113893+Ninja-2408@users.noreply.github.com> Date: Wed, 19 Oct 2022 00:38:29 +0530 Subject: [PATCH] Create Rotate_matrix --- Rotate_matrix | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 Rotate_matrix diff --git a/Rotate_matrix b/Rotate_matrix new file mode 100644 index 0000000..4bd40c0 --- /dev/null +++ b/Rotate_matrix @@ -0,0 +1,74 @@ +#include +#define R 4 +#define C 4 +using namespace std; + +void rotatematrix(int m, int n, int mat[R][C]) +{ + int row = 0, col = 0; + int prev, curr; + + while (row < m && col < n) + { + + if (row + 1 == m || col + 1 == n) + break; + + prev = mat[row + 1][col]; + + for (int i = col; i < n; i++) + { + curr = mat[row][i]; + mat[row][i] = prev; + prev = curr; + } + row++; + + for (int i = row; i < m; i++) + { + curr = mat[i][n-1]; + mat[i][n-1] = prev; + prev = curr; + } + n--; + + if (row < m) + { + for (int i = n-1; i >= col; i--) + { + curr = mat[m-1][i]; + mat[m-1][i] = prev; + prev = curr; + } + } + m--; + + if (col < n) + { + for (int i = m-1; i >= row; i--) + { + curr = mat[i][col]; + mat[i][col] = prev; + prev = curr; + } + } + col++; + } + + for (int i=0; i