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; +}