/*** Program to simulate natural selection ***/ #include main () { int gen, i; float p, q, wAA, wAa, waa, wbar; FILE *ifp, *ofp, *fopen(); ifp=fopen("sel_info", "r"); ofp=fopen("sel_output", "w"); fscanf(ifp, "%f%f%f%f%d", &wAA, &wAa, &waa, &p, &gen); q=1-p; /* printf("Freq A\tGeneration\n"); */ for (i = 1; i<=gen; ++i) { wbar = (p*p*wAA) + (2*p*q*wAa) + (q*q*waa); p = ((p*p*wAA) + (p*q*wAa))/wbar; q=1-p; fprintf(ofp, "%f\t%d\n", p,i); } }