The title is misleading in that the numbers in the file are displayed in a column.
Example:
3
5
10
4
8
1
2
etc...
The resulting file also has to be in that formatting, so:
1
2
3
4
5
6
The problem I am having right now is getting the numbers read from the file and into an array. The problem is that I have it reading character by character so if it is a two digit number, say 10, it will put 1 into one element and 0 into another one. That is one problem I know about. The other major one is how I can print the array, once it is sorted, back into another file with that above formatting. Here is what I have working right now.....
Code:void quicksort(int *array, int size) //sorting function for the array { int a,b,temp; for(a=0;a<(size-1);a++){ for(b=a=1;b<size;b++){ if(array[a] > array [b]){ temp=array[b]; array[b] = array[a]; array[a] = temp; } } } } int main(int argc, char *argv[]) { FILE *quick, *fp; char c; int n; int array[101]; fp=fopen(argv[1], "r"); quick=fopen("sorted", "w"); while((c=fgetc(fp)) != EOF){ //gets the numbers, put them into an array for(n=0; n <101; n++){ if(c != '\n'){ array[n] = c; } } } quicksort(array, 101); //sort the numbers while(array != NULL){ //Puts the numbers back into a new file for(n=0; n <101; n++){ fputc(array[n],quick); } } fclose(quick); system("PAUSE"); return 0; }



LinkBack URL
About LinkBacks


