#include #include #include #define THIRD "1/3 " #define HALF "1/2 " int main () { int i,j,k,NoAcc[3], SumNoAcc; FILE *f; f=fopen("file.txt","w"); fprintf(f,"U = \n"); for (i=1;i<=3;i++) { for (j=1;j<=3;j++) { for (k=1;k<=3;k++) { if (i+j+k!=3) fprintf(f,"+ "); SumNoAcc=0; if (i==1) { fprintf(f,"n"); NoAcc[0]=1; SumNoAcc++; } else { fprintf(f,"a1f"); NoAcc[0]=0; } fprintf(f,"%d * ",i); if (j==2) { fprintf(f,"n"); NoAcc[1]=1; SumNoAcc++; } else { fprintf(f,"a2f"); NoAcc[1]=0; } fprintf(f,"%d * ",j); if (k==3) { fprintf(f,"n"); NoAcc[2]=1; SumNoAcc++; } else { fprintf(f,"a3f"); NoAcc[2]=0; } fprintf(f,"%d * ",k); // probability of event printed, now need payoff if (SumNoAcc==0) // everyone accepted someone fprintf(f,"(%sUB%dR1 + %sUB%dR2 + %sUB%dR3)\n",THIRD,i,THIRD,j,THIRD,k); else if (SumNoAcc==1) // two accepted, other didn't { if (NoAcc[0]==1) // P1 didn't accept, others did fprintf(f,"(%sUB%dR2 + %sUB%dR3)\n",HALF,j,HALF,k); else if (NoAcc[1]==1) fprintf(f,"(%sUB%dR1 + %sUB%dR3)\n",HALF,i,HALF,k); else fprintf(f,"(%sUB%dR1 + %sUB%dR2)\n",HALF,i,HALF,j); } else if (SumNoAcc==2) // only one accepted { if (i!=1) // P1 accepted fprintf(f,"UB%dR1\n",i); else if (j!=2) // P2 accepted fprintf(f,"UB%dR2\n",j); else fprintf(f,"UB%dR3\n",k); } else // all three did not accept fprintf(f,"((1-e4)*U + e4*0)\n"); } } } return 0; }