diff options
Diffstat (limited to '20_rot_matrix/rotate.c')
-rw-r--r-- | 20_rot_matrix/rotate.c | 24 |
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++; + } + +} |