Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int fill(int n, int matrix[n][n]);
- int rotate(int n, int matrix[n][n]);
- int print(int n, int matrix[n][n]);
- int main()
- {
- int n;
- scanf("%d", &n);
- int matrix[n][n];
- fill(n, matrix);
- puts("Initial:\n");
- print(n, matrix);
- rotate(n, matrix);
- puts("Rotated to 90:\n");
- print(n, matrix);
- rotate(n, matrix);
- puts("Rotated to 180:\n");
- print(n, matrix);
- }
- int fill(int n, int matrix[n][n])
- {
- int row;
- int col;
- int counter = 1;
- for (row = 0; row < n; row++)
- {
- for (col = 0; col < n; col++)
- {
- matrix[row][col] = counter++;
- }
- }
- }
- int print(int n, int matrix[n][n])
- {
- int row;
- int col;
- for (row = 0; row < n; row++)
- {
- for (col = 0; col < n; col++)
- {
- printf("%d ", matrix[row][col]);
- }
- puts("\n");
- }
- }
- int rotate(int n, int matrix[n][n])
- {
- int row;
- int col;
- for (row = 0; row < n / 2; row++)
- {
- for(col = row + 1; col < n - row; col++)
- {
- int a = n - col - 1;
- int b = n - row - 1;
- int swap = matrix[a][row];
- matrix[a][row] = matrix[b][a];
- matrix[b][a] = matrix[col][b];
- matrix[col][b] = matrix[row][col];
- matrix[row][col] = swap;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment