summaryrefslogtreecommitdiff
path: root/20_rot_matrix/rotate.c
diff options
context:
space:
mode:
Diffstat (limited to '20_rot_matrix/rotate.c')
-rw-r--r--20_rot_matrix/rotate.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/20_rot_matrix/rotate.c b/20_rot_matrix/rotate.c
new file mode 100644
index 0000000..79d7f3b
--- /dev/null
+++ b/20_rot_matrix/rotate.c
@@ -0,0 +1,24 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+void rotate(char matrix[10][10]) {
+ int layer = 0;
+ char temp1;
+ char temp2;
+ char temp3;
+
+ while (layer <= 10/2) {
+ for (int i = layer; i < 10 - 1 - layer; i++) {
+ temp1 = matrix[i][10-1-layer];
+ temp2 = matrix[10-1-layer][10-1-i];
+ temp3 = matrix[10-1-i][layer];
+
+ matrix[i][10-1-layer] = matrix[layer][i];
+ matrix[10-1-layer][10-1-i] = temp1;
+ matrix[10-1-i][layer] = temp2;
+ matrix[layer][i] = temp3;
+ }
+ layer++;
+ }
+
+}