void rotate(int** matrix, int matrixRowSize, int matrixColSize) {
int i, j, tmp;
for(i = 0; i < matrixRowSize / 2; ++i)
for(j = 0; j < (matrixColSize + 1) / 2; ++j){
tmp = matrix[i][j];
matrix[i][j] = matrix[matrixRowSize - 1 - j][i];
matrix[matrixRowSize - 1 - j][i] = matrix[matrixRowSize - 1 - i][matrixColSize - 1 - j];
matrix[matrixRowSize - 1 - i][matrixColSize - 1 - j] = matrix[j][matrixColSize - 1 - i];
matrix[j][matrixColSize - 1 - i] = tmp;
}
}
int i, j, tmp;
for(i = 0; i < matrixRowSize / 2; ++i)
for(j = 0; j < (matrixColSize + 1) / 2; ++j){
tmp = matrix[i][j];
matrix[i][j] = matrix[matrixRowSize - 1 - j][i];
matrix[matrixRowSize - 1 - j][i] = matrix[matrixRowSize - 1 - i][matrixColSize - 1 - j];
matrix[matrixRowSize - 1 - i][matrixColSize - 1 - j] = matrix[j][matrixColSize - 1 - i];
matrix[j][matrixColSize - 1 - i] = tmp;
}
}