[E-7]
Write function that reverses the order of the elements in an array of integers.
Here is a sample run:
Original: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 Reversed: 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Make sure the function works on both arrays with even and arrays with odd numbers of elements. Here is a testing framework:
/* Puzzle D31 -- reverse the elements in an array */
#include <stdio.h>
#include <stdlib.h>
void reverseArray( int size, int arr[] )
{
. . . Your Code Here . . .
}
void fillArrayInOrder( int size, int arr[] )
{
int j;
for ( j=0; j<size; j++ )
{
arr[j] = j;
}
}
void printArray( int size, int arr[] )
{
const int N = 10;
int j;
for ( j=0; j<size; j++ )
{
if ( j%N == N-1 )
printf("%4d\n", arr[j] );
else
printf("%4d ", arr[j] );
}
}
int main(int argc, char *argv[])
{
const int SIZE = 35;
int x[ SIZE ];
fillArrayInOrder( x, SIZE );
printf("Original:\n");
printArray( SIZE, x );
printf("\nReversed:\n");
reverseArray( SIZE, x );
printArray( SIZE, x );
printf("\n\n");
system("PAUSE"); /* delete if not needed */
return 0;
}