#include #include #include #include #define F 0 #define T 1 #define MAXLOCI 12 #define MAXALL 15 #define MAXCOM (MAXALL*(MAXALL+1))/2 #define MAXFAC 10 #define MAXLINE 1000 typedef struct locusvalues { int nalleles, format; double freq[MAXALL]; union { struct { int nclass; double pene[MAXCOM][MAXCOM]; } aff; struct { int numfact; int binfactors[MAXALL][MAXFAC]; } binary; } type; } locusvalues; locusvalues locuslist[MAXLOCI]; int table[MAXLOCI][MAXALL][MAXALL]; int getline(s,lim,file) char s[]; int lim; FILE *file; { int c,i; for (i=0; i< lim-1 && (c=fgetc(file))!=EOF && c!= '\n'; ++i) s[i] = c; if (c== '\n') { s[i]=c; ++i; } s[i] = '\0'; return i; } void putline(s,lim,file) char s[]; int lim; FILE *file; { int c,i; for (i=0; i 0) putline(line, len, newdat); fclose(dat); fclose(newdat); /*outped file creation */ ped = fopen("inped","r"); newped = fopen("outped","w"); /*Create Table*/ for (i=0; i