Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void FlipMatrix(int mat[MATRIX_SIZE][MATRIX_SIZE], int option)
- {
- int i, j, temp_x, temp_y, size, sizemo;
- size = MATRIX_SIZE - 1;
- switch (option)
- {
- case 1:
- {
- for (i = 0; i < size; i++)
- for (j = 0; j < size; j++)
- {
- if (i == 0)
- {
- temp_x = mat[i + j][size];
- mat[i + j][size] = mat[i][j];
- temp_y = mat[size][size - j];
- mat[size][size - j] = temp_x;
- temp_x = mat[size - j][i];
- mat[size - j][i] = temp_y;
- mat[i][j] = temp_x;
- }
- if (MATRIX_SIZE % 2 > 0)
- sizemo = MATRIX_SIZE / 2 + 1;
- else
- sizemo = MATRIX_SIZE / 2;
- if (i > 0 && i + j < sizemo)
- {
- int flag = 0;
- if (!flag) {
- temp_x = mat[i + j][size - i];
- mat[i + j][size - i] = mat[i][i + j];
- temp_y = mat[size - i][size - i - j];
- mat[size - i][size - i - j] = temp_x;
- temp_x = mat[size - j - i][i];
- mat[size - j - i][i] = temp_y;
- mat[i][i + j] = temp_x;
- }
- }
- }
- MatPrint(mat);
- break;
- }
- case 2:
- {
- for (i = 0; i < MATRIX_SIZE / 2; i++)
- for (j = 0; j < size; j++)
- {
- if (i == 0)
- {
- temp_x = mat[size][i + j];
- mat[size][i + j] = mat[j][i];
- temp_y = mat[size - j][size];
- mat[size - j][size] = temp_x;
- temp_x = mat[i][size - j];
- mat[i][size - j] = temp_y;
- mat[j][i] = temp_x;
- }
- if (MATRIX_SIZE % 2 > 0)
- sizemo = MATRIX_SIZE / 2 + 1;
- else
- sizemo = MATRIX_SIZE / 2;
- if (i > 0 && i + j < sizemo)
- {
- /*temp_x = mat[i + j][size - i];
- mat[i + j][size - i] = mat[i][i + j];
- temp_y = mat[size - i][size - i - j];
- mat[size - i][size - i - j] = temp_x;
- temp_x = mat[size - j - i][i];
- mat[size - j - i][i] = temp_y;
- mat[i][i + j] = temp_x;*/
- temp_x = mat[size - i][i + j];
- mat[size - i][i + j] = mat[i + j][i];
- temp_y = mat[size - i - j][size - i];
- mat[size - i - j][size - i] = temp_x;
- temp_x = mat[i][size - j - i];
- mat[i][size - j - i] = temp_y;
- mat[i + j][i] = temp_x;
- }
- }
- MatPrint(mat);
- break;
- }
- case 3:
- {
- int temp[MATRIX_SIZE / 2][MATRIX_SIZE];
- for (i = 0; i < MATRIX_SIZE / 2; i++)
- for (j = 0; j < MATRIX_SIZE; j++)
- {
- temp[i][j] = mat[i][j];
- mat[i][j] = mat[size - i][j];
- mat[size - i][j] = temp[i][j];
- }
- MatPrint(mat);
- break;
- }
- case 4:
- {
- int temp[MATRIX_SIZE][MATRIX_SIZE / 2];
- for (i = 0; i < MATRIX_SIZE; i++)
- for (j = 0; j < MATRIX_SIZE / 2; j++)
- {
- temp[i][j] = mat[i][j];
- mat[i][j] = mat[i][size - j];
- mat[i][size - j] = temp[i][j];
- }
- MatPrint(mat);
- break;
- }
- default:
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement