--- secretosamani <[EMAIL PROTECTED]> wrote: > I having problems trying to write a certain program > and if anyone out > there could help me, I'd be very appreciative. To do > this program, > you will need to download prog06_stuff.h from the > following web site > and #include it in the prog06.h header file - the > functions you > create will be in a header file named prog06.h and > you can test these > functions with a C program of your making. The > functions in > prog06_stuff.h require the randint.h header file be > present in the > same folder. You can download it here: > http://www.egr115.com/randint.h. > You must #include prog06_stuff.h in the prog06.h > file - From within > the test program, call the makefile() function in > prog06_stuff.h file > to generate a data file for testing. The file > structure will be one > string per line, and the last line will NOT have a > newline after it. > void makefile(char *filename); The function > makefile() is inside > prog06_stuff.h - it takes the name for a file to be > created and > creates a text file for you, formally returning > nothing. However, > after calling the function, a file with the name you > sent into the > function will exist in the current directory, and > that file will be > formatted with random strings which you can then > read and sort. You > are guaranteed that all strings will start with an > uppercase letter. > Write a function readfile() inside prog06.h such > that follows this > prototype: > str_array *readfile(char *filename); > The function will read in a series of strings from > the data file with > the name filename and return a pointer to a > str_array struct. A > str_array is a struct that follows this definition > (specified in > prog06_stuff.h): > typedef struct { > char strings[50][100]; > } str_array; > Because the struct is not being sent into the > function (you are only > sending in the name of the file), you will have to > instantiate the > struct from inside the readfile() function. Recall > that memory > statically allocated inside a function disappears > when the function > ends. Therefore, in order for this struct to > remain in memory after the function exits, you > *must* dynamically > allocate the memory for that struct - use calloc() > to do so. The > memory will be freed at the end of main(). > Write the function SortStruct() inside prog06.h that > will take as > input two str_array pointers and, using the > BubbleSort algorithm, > sort the strings in the struct in ascending order > â" the original > struct is pointed to by in; the sorted struct is > pointed to by out: > void SortStruct(str_array *in, str_array *out); > The argument (in the function call) for the in > pointer will be the > same variable used to hold the result that came from > readfile(). For > the out pointer, statically allocate the memory in > main() and send > the address of that struct into SortStruct() as the > function call > argument for out. Inside the function, copy the > contents of the in > struct into the out struct, then sort the contents > of the out struct > using the BubbleSort algorithm. As a separate header > file named > p6xc.h, provide a function that follows this > prototype > void xcSortStrings(char strings[50][100]) ; > and that will sort the strings using the qsort() > function. In the > p6xc.h file, you will need to create a separate > function to provide > to qsort() as a function pointer, and you will also > need to provide > the readfile() function you created in the original > assignment. > #include prog06_stuff.h so that you have the struct > definition > available. > > >
Show us your code. Mickey ____________________________________________________________________________________ Get your own web address. Have a HUGE year through Yahoo! Small Business. http://smallbusiness.yahoo.com/domains/?p=BESTDEAL
