From c953f3d5bd857efa9155c44ad74b7b37a1fda716 Mon Sep 17 00:00:00 2001 From: Ninja-2408 <116113893+Ninja-2408@users.noreply.github.com> Date: Wed, 19 Oct 2022 00:40:16 +0530 Subject: [PATCH] Create Matrix_anti_Clockwise --- Matrix_anti_Clockwise | 47 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 Matrix_anti_Clockwise diff --git a/Matrix_anti_Clockwise b/Matrix_anti_Clockwise new file mode 100644 index 0000000..753792b --- /dev/null +++ b/Matrix_anti_Clockwise @@ -0,0 +1,47 @@ +#include +using namespace std; + +#define R 4 +#define C 4 + +void reverseColumns(int arr[R][C]) +{ + for (int i = 0; i < C; i++) + for (int j = 0, k = C - 1; j < k; j++, k--) + swap(arr[j][i], arr[k][i]); +} + +void transpose(int arr[R][C]) +{ + for (int i = 0; i < R; i++) + for (int j = i; j < C; j++) + swap(arr[i][j], arr[j][i]); +} + +void printMatrix(int arr[R][C]) +{ + for (int i = 0; i < R; i++) { + for (int j = 0; j < C; j++) + cout << arr[i][j] << " "; + cout << '\n'; + } +} + +void rotate180(int arr[R][C]) +{ + transpose(arr); + reverseColumns(arr); + transpose(arr); + reverseColumns(arr); +} + +int main() +{ + int arr[R][C] = { { 34, 21, 35, 64 }, + { 143, 45, 235, 43 }, + { 36, 13, 135, 567}, + { 56, 88, 32, 46 } }; + rotate180(arr); + printMatrix(arr); + return 0; +}