#include #include #include #define MAX_ENTRIES 2000 struct { int trials; int passes; int num; int total; } ave[MAX_ENTRIES]; main(argc,argv) int argc; char **argv; { FILE * fp; int c,i,j; char file_name[30]; int best,num_trials,num_passes,seed; int found,highest; float average; highest = 0; if (argc < 3) {printf("Usage: post filename file_selector\n"); exit (-1);} fp = fopen (argv[1],"r"); c = fscanf(fp,"%s %d %d %d %d\n",file_name, &best,&num_trials, &num_passes,&seed); do { /*printf("%s %d %d %d %d\n",file_name, best,num_trials, num_passes,seed);*/ if (strcmp(file_name,argv[2]) == 0) { i = 0; found = FALSE; do { if ((ave[i].trials == num_trials) && (ave[i].passes == num_passes)) found = TRUE; else i++; } while (!found && (i < highest)); if (found) { ave[i].num += best; ave[i].total ++; } else { ave[highest].num = best; ave[highest].total = 1; ave[highest].trials = num_trials; ave[highest].passes = num_passes; highest ++; } } c = fscanf(fp,"%s %d %d %d %d\n",file_name, &best,&num_trials, &num_passes,&seed); } while ( c != EOF); for (i = 0; i < highest; i++) { average = ave[i].num/ave[i].total; printf("%d %d %f\n",ave[i].trials, ave[i].passes, average); } }