Witam zainteresowałem się językiem C i mam pewien problem. Chciałem napisać program który "symuluje" rzut 2 kostkami tzn po wprowadzeniu cyfry oblicza prawdopodobieństwo wystąpienia kolejnych cyfr. Założenie jest takie że a to wprowadzana cyfra, p to prawdopodobieństwo, x to liczniki ułamka i one się nie zmieniają, y to mianowniki ułamka (każda z 11 kombinacji ma swój). Problemem jest to że wynik zawsze wychodzi 0.00000 choć nie do końca wiem dlaczego. Czy ten program ma prawo działać albo czy ja popełniłem gdzieś błąd? W każdym razie prosiłbym o pomoc
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int a;
double p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12;
int x2x12=1, x3x11=2, x4x10=3, x5x9=4, x6x8=5, x7=6;
int y2=36, y3=36, y4=36, y5=36, y6=36, y7=36, y8=36, y9=36, y10=36, y11=36, y12=36;
etykieta:
puts("podaj cyfre");
scanf("%d",&a);
switch(a){
case 2:
y2=y2*2;
y3=y3-x3x11;
y4=y4-x4x10;
y5=y5-x5x9;
y6=y6-x6x8;
y7=y7-x7;
y8=y8-x6x8;
y9=y9-x5x9;
y10=y10-x4x10;
y11=y11-x3x11;
y12=y12-x2x12;
break;
case 3:
y3=y3*2;
y2=y2-x2x12;
y4=y4-x4x10;
y5=y5-x5x9;
y6=y6-x6x8;
y7=y7-x7;
y8=y8-x6x8;
y9=y9-x5x9;
y10=y10-x4x10;
y11=y11-x3x11;
y12=y12-x2x12;
break;
case 4:
y4=y4*2;
y2=y2-x2x12;
y3=y3-x3x11;
y5=y5-x5x9;
y6=y6-x6x8;
y7=y7-x7;
y8=y8-x6x8;
y9=y9-x5x9;
y10=y10-x4x10;
y11=y11-x3x11;
y12=y12-x2x12;
break;
case 5:
y5=y5*2;
y2=y2-x2x12;
y3=y3-x3x11;
y4=y4-x4x10;
y6=y6-x6x8;
y7=y7-x7;
y8=y8-x6x8;
y9=y9-x5x9;
y10=y10-x4x10;
y11=y11-x3x11;
y12=y12-x2x12;
break;
case 6:
y6=y6*2;
y2=y2-x2x12;
y3=y3-x3x11;
y4=y4-x4x10;
y5=y5-x5x9;
y7=y7-x7;
y8=y8-x6x8;
y9=y9-x5x9;
y10=y10-x4x10;
y11=y11-x3x11;
y12=y12-x2x12;
break;
case 7:
y7=y7*2;
y2=y2-x2x12;
y3=y3-x3x11;
y4=y4-x4x10;
y5=y5-x5x9;
y6=y6-x6x8;
y8=y8-x6x8;
y9=y9-x5x9;
y10=y10-x4x10;
y11=y11-x3x11;
y12=y12-x2x12;
break;
case 8:
y8=y8*2;
y2=y2-x2x12;
y3=y3-x3x11;
y4=y4-x4x10;
y5=y5-x5x9;
y6=y6-x6x8;
y7=y7-x7;
y9=y9-x5x9;
y10=y10-x4x10;
y11=y11-x3x11;
y12=y12-x2x12;
break;
case 9:
y9=y9*2;
y2=y2-x2x12;
y3=y3-x3x11;
y4=y4-x4x10;
y5=y5-x5x9;
y6=y6-x6x8;
y7=y7-x7;
y8=y8-x6x8;
y10=y10-x4x10;
y11=y11-x3x11;
y12=y12-x2x12;
break;
case 10:
y10=y10*2;
y2=y2-x2x12;
y3=y3-x3x11;
y4=y4-x4x10;
y5=y5-x5x9;
y6=y6-x6x8;
y7=y7-x7;
y8=y8-x6x8;
y9=y9-x5x9;
y11=y11-x3x11;
y12=y12-x2x12;
break;
case 11:
y11=y11*2;
y2=y2-x2x12;
y3=y3-x3x11;
y4=y4-x4x10;
y5=y5-x5x9;
y6=y6-x6x8;
y7=y7-x7;
y8=y8-x6x8;
y9=y9-x5x9;
y10=y10-x4x10;
y12=y12-x2x12;
break;
case 12:
y12=y12*2;
y2=y2-x2x12;
y3=y3-x3x11;
y4=y4-x4x10;
y5=y5-x5x9;
y6=y6-x6x8;
y7=y7-x7;
y8=y8-x6x8;
y9=y9-x5x9;
y10=y10-x4x10;
y11=y11-x3x11;
break;
defaul: puts("blad");
}
p2=x2x12/y2;
p3=x3x11/y3;
p4=x4x10/y4;
p5=x5x9/y5;
p6=x6x8/y6;
p7=x7/y7;
p8=x6x8/y8;
p9=x5x9/y9;
p10=x4x10/y10;
p11=x3x11/y11;
p12=x2x12/y12;
puts("prawdopodobienstwo wynosi");
printf("2 %f \n",&p2);
printf("3 %f \n",&p3);
printf("4 %f \n",&p4);
printf("4 %f \n" ,&p4);
printf("5 %f \n",&p5);
printf("6 %f \n",&p6);
printf("7 %f \n",&p7);
printf("8 %f \n",&p8);
printf("9 %f \n",&p9);
printf("10 %f \n",&p10);
printf("11 %f \n",&p11);
printf("12 %f \n",&p12);
goto etykieta;
return 0;}
```
proste
. Jak Ci się wydaje, ile osób szuka odpowiedzi wpisującproste
w swoje zapytanie? ;-p