*********************************************************** #include #include #include int main() { FILE *in, *out; int i, j, k, temp, temp1, temp2, temp3, temp4, a, a1, a2, a3, a4; int arrayOf4[25] = {123,134,145,156,167,178,189,1234,1245,1256,1267,1278,1289, 2345,2356,2367,2378,2389,3456,3467,3489,4567,5678,5689,6789}; int inArray[100], matchArray1[10], matchArray2[10], found = 0, possible; int numCount, score; /* ** Open */ if((in = fopen("drawsP4.txt", "r")) == NULL) { printf("could not open drawsP4.txt\n"); getch(); exit(0); } if((out = fopen("out.txt", "w")) == NULL) { printf("could not open out.txt\n"); getch(); exit(0); } /* ** Start scanning */ i = 0; while(!feof(in) && i < 50) { fscanf(in, "%d", (inArray + i)); i++; } numCount = i; printf("Pairs to play are:\n"); fprintf(out, "Pairs to play are:\n"); start: for(i = 0; i < 25; i++) { possible = 0; score = 0; temp = arrayOf4[i]; temp1 = temp/1000; temp2 = (temp - 1000*temp1)/100; temp3 = (temp - 1000*temp1 - 100*temp2)/10; temp4 = (temp - 1000*temp1 - 100*temp2 - 10*temp3); j = 0; for(j = 0; j < numCount; j++) { for( k = 0; k < 10; k++) { matchArray1[k] = 0; matchArray2[k] = 0; } a = inArray[j]; a1 = a/1000; a2 = (a - 1000*a1)/100; a3 = (a - 1000*a1 - 100*a2)/10; a4 = (a - 1000*a1 - 100*a2 - 10*a3); matchArray1[temp1] = 1; matchArray1[temp2] = 1; matchArray1[temp3] = 1; matchArray1[temp4] = 1; matchArray1[a1]++; matchArray1[a2]++; matchArray1[a3]++; matchArray1[a4]++; score = 0; for(k = 0; k < 10; k++) { if(matchArray1[k] == 2) { score = score + 1; } } if(score < 3 ) { possible++; } } if(possible == numCount) { printf("%d%d-", temp1,temp2); printf("%d%d-", temp1,temp3); printf("%d%d-", temp1,temp4); printf("%d%d-", temp2,temp3); printf("%d%d-", temp2,temp4); printf("%d%d\n", temp3,temp4); fprintf(out, "%d%d-%d%d-%d%d-%d%d-%d%d-%d%d\n", temp1, temp2, temp1, temp3, temp1, temp4, temp2, temp3, temp2, temp4, temp3, temp4); found = 1; } } if(found == 0) { numCount = numCount - 1; goto start; } printf("Enter any key to continue\n", numCount); getch(); close(in); close(out); }