#include // For atoi #include // For printf and putchar #include // For assert int SIZE; #define SPACING ((SIZE / 10) + 2) void reverse(int*, int); int main (int argc, char **argv) { assert(argc > 1); printf("SPACINGS IS %d\n", SPACING); SIZE = atoi(argv[1]) + 1; int* a = (int*) malloc(sizeof(int) * SIZE); int i; for(i = 0; i < SIZE; ++i) a[i] = i; for(i = 0; i < SIZE; ++i) printf("%*d ", SPACING, a[i]); printf("\n\n"); reverse(a, SIZE); putchar('\n'); for(i = 0; i < SIZE; ++i) printf("%*d ", SPACING, a[i]); putchar('\n'); return 0; } void reverse(int* a, int size) { int i, ii, dum; for(i = 0; i < size / 2; ++i) { dum = a[i]; a[i] = a[size-1-i]; a[size-1-i] = dum; for(ii = 0; ii < size; ++ii) printf("%*d ", SPACING, a[ii]); putchar('\n'); } }