#include #define MAX 10 void PopulateArray(int A[]); void PopulateArray(int A[]) { int i; for (i=0; i < MAX; i++) { A[i] = i+1; } } int SaveArray(int A[], char *filename); int SaveArray(int A[], char *filename) { int i; FILE *outfileptr; outfileptr = fopen(filename, "w"); if (outfileptr == NULL) return 0; for (i=0; i < MAX; i++) { if (i==0) fprintf(outfileptr, "%d", A[i]); else fprintf(outfileptr, " %d", A[i]); } fclose(outfileptr); return i; } int LoadArray(int A[], char *filename); int LoadArray(int A[], char *filename) { int i=0; FILE *infileptr; infileptr = fopen(filename, "r"); if (infileptr == NULL) return 0; while(!feof(infileptr)) { fscanf(infileptr, "%d", &A[i]); i++; } fclose(infileptr); return i; } void Reverse(int A[], int numCount); void Reverse(int A[], int numCount) { int i, temp; for (i=0 ; i < numCount/2; i++) { // swap A[i] with A[numCount -1 -i] temp = A[i]; A[i] = A[numCount - 1 - i]; A[numCount-1-i] = temp; } } int main() { int A[MAX]; int numCount; PopulateArray(A); numCount = SaveArray(A, "a.dat"); printf("%d numbers saved...\n", numCount); numCount = LoadArray(A, "a.dat"); printf("%d numbers loaded...\n", numCount); Reverse(A, numCount); printf("Array reversed...\n", numCount); numCount = SaveArray(A, "a.dat"); printf("%d numbers saved...\n", numCount); return 0; }