#include <stdio.h>
#include <stdlib.h>
#define N 3
void
func(int a[][N])
{
int i, j;
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
printf("%3d ", a[i][j]);
}
putchar('\n');
}
}
void
swap(int *a, int *b)
{
int t;
t = *a;
*a = *b;
*b = t;
}
void
rev(int a[][N], int mode)
{
int i, j;
for (i = 0; i < N; i++) {
for (j = 0; j < N - j - 1; j++) {
if(mode==1)
swap(&a[i][j],&a[i][N-j-1]);
else
swap(&a[j][i],&a[N-j-1][i]);
}
}
}
int
main(void)
{
int a[N][N], i, j, n;
char menu[][20] = {"\n1:horizontal", "2:vertical", "3:quit"};
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
a[i][j] = rand() % 100;
}
}
while (1) {
func(a);
do {
for (i = 0; i < 3; i++)
printf("%s\n", menu[i]);
printf("command = ");
scanf("%d", &n);
} while (n < 1 || n > i);
printf("n=%d\n", n);
if (n == 3)
break;
rev(a, n);
}
return 0;
}