#include FILE *fTxt, *fTree; NO_CML void main() { static int iTree[351][6], iItem[351]; register int c; static int iNum, i, j; if (!(fTxt = fopen("bearat.txt","rb"))) { printf("Cannot Open Text File\n"); exit(1); } for (iNum = 0; iNum < 351; ++iNum) for (i = 0; i < 6; ++i) iTree[iNum][i] = -1; do { while((c = fgetc(fTxt)) != EOF) if (c == '#') break; if (c != '#') break; for (iNum = 0; (c = fgetc(fTxt)) != EOF; ) if ((c < '0')||(c > '9')) break; else iNum = iNum * 10 + c - '0'; while ((c = fgetc(fTxt)) != EOF) if ((c == '%')||(c == '&')||(c == '$')||(c == '<')) break; if (c == '<') { iTree[iNum][0] = -2; continue; } i = 0; do { for (j = 0; (c = fgetc(fTxt)) != EOF; ) if ((c < '0')||(c > '9')) break; else j = j * 10 + c - '0'; iTree[iNum][i++] = j; } while ((c == '%')||(c == '&')||(c == '$')); } while (iNum < 350); printf("That's All!!!\n"); fclose(fTxt); fTree = fopen("Rat.tre","wb"); fwrite(iTree, sizeof(int), 351*6, fTree); fclose(fTree); for (i = 0; i < 351; ++i) iItem[i] = 0; for (i = 0; i < 351; ++i) for (j = 0; j < 5; ++j) if (iTree[i][j] < 0) continue; else iItem[iTree[i][j]] ++; for (i = 0; i < 351; ++i) printf("Item %d: %d\n", i, iItem[i]); }