login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > Overige > C en C++ > C++ - Kansberekenen

C++ - Kansberekenen

Auteur: roofgah - 30 november 2006 - 15:37 - Gekeurd door: Joel - Hits: 5587 - Aantal punten: (0 stemmen)



Met dit programma kan je een kans berekenen. Het rekent via de formule n!/r1(n-r)! dit uit. Als je bij wiskunde hebt opgelet herken je die formule. Dit is de uitgeschreven versie van de nCr functie op je grafisch rekenmachine. De gegevens die je moet invullen gaan volgens het vaas model (knikkers in de vaas).

Je vult wat gegevens in en vervolgens rekent het programma de kans uit bijvoorbeeld.
Er zijn 60 loten in een loterij (totaal aantal knikkers).
Er zijn 5 prijzen in de loterij (aantal knikkers/loten die succes hebben.
Je hebt 3 loten (aantal uitpakken).
Je wil twee prijzen hebben (aantal keer succes hebben).

Hierna krijg je de berekening en de uitkomst.

Code:
  1. #include <iostream> //includeren van input en output
  2. #include <string> //includeren van de string
  3. using namespace std; //de namespace
  4.  
  5. //faculteit
  6. double fac (double a)
  7. {
  8. if (a > 1)
  9. return (a * fac (a-1));
  10. else
  11. return (1);
  12. }
  13. //de faculteit beschreven
  14.  
  15.  
  16. int main(){ //de main
  17.  
  18. //beginnen met integers en doubles benoemen
  19. double totaal,succes,geensucces,uitpakken,aantalkeersucces,aantalzondersuccesinberekening;
  20.  
  21. //wat info van tevoren
  22. cout << "De volgende getallen moeten ingevuld worden volgens het vaasmodel." << endl;
  23. cout << "Druk op ENTER om door te gaan" << endl;//meedelen voor het vaasmodel en enter drukken
  24.  
  25. cin.get();//zorgen dat je eerst op enter moet drukken
  26.  
  27.  
  28. //vragen
  29. cout << "Hoeveel 'knikkers' zijn er in totaal?" << endl;//vragen hoeveel knikkers er in de vaas zitten
  30. cin >> totaal;
  31.  
  32. cout << "Hoeveel 'knikker(s)' hebben succes?" << endl; //vragen hoeveel succes hebben
  33. cin >> succes;
  34.  
  35. //uitrekenen van niet succesen
  36. geensucces = totaal - succes;
  37.  
  38. //vragen...
  39. cout << "Hoeveel 'knikker(s)' pak je uit de vaas?" << endl;//vragen hoeveel je er uit pakt
  40. cin >> uitpakken;
  41.  
  42. cout << "Hoeveel keer wil je succes hebben?" << endl;//de rest van de knikkers
  43. cin >> aantalkeersucces;
  44.  
  45.  
  46. aantalzondersuccesinberekening = uitpakken - aantalkeersucces;//aantal knikkers die geen succes hebben
  47. cout << " " << endl << endl;
  48. cin.get();
  49.  
  50.  
  51. //berekenen van de kansen:
  52. //berekenen van n1 en r1 het allereerste getal dus
  53. double n1, r1, n1faculteit, r1faculteit, n1minr1, n1minr1faculteit, onderdeler1, gedeelddoor1, bovendeler1;//benoemen van doubles
  54. //invoer gegevens
  55. n1 = succes;
  56. r1 = aantalkeersucces;
  57. //faculteit berekenen
  58. n1faculteit = fac (n1);
  59. r1faculteit = fac (r1);
  60. //onder de deler berekenen
  61. n1minr1 = n1 - r1; //n1 - r1
  62. n1minr1faculteit = fac (n1minr1);// faculteit van n1 - r1
  63. // r! * (n-r)!
  64. bovendeler1 = n1faculteit;
  65. onderdeler1 = r1faculteit * n1minr1faculteit;
  66. //gedeeld door som
  67. gedeelddoor1 = bovendeler1 / onderdeler1;
  68. cout << n1 << " nCr " << r1 << " is: " << gedeelddoor1 << endl;
  69.  
  70. //berekenen van n2 en r2 tweede getal dus
  71. double n2, r2, n2faculteit, r2faculteit, n2minr2, n2minr2faculteit, bovendeler2, onderdeler2, gedeelddoor2;
  72. //invoer gegevens
  73. n2 = geensucces;
  74. r2 = aantalzondersuccesinberekening;
  75. //faculteiten berekenen
  76. n2faculteit = fac (n2);
  77. r2faculteit = fac (r2);
  78. //onder de deler berekenen
  79. n2minr2 = n2 - r2;
  80. n2minr2faculteit = fac (n2minr2);
  81. //r! * (n-r)!
  82. bovendeler2 = n2faculteit;
  83. onderdeler2 = r2faculteit * n2minr2faculteit;
  84. //gedeeld door som
  85. gedeelddoor2 = bovendeler2 / onderdeler2;
  86. cout << n2 << " nCr " << r2 << " is: " << gedeelddoor2 << endl;
  87.  
  88. //berekenen van n3 en r3 het 3e getal (de deler)
  89. double n3, r3, n3faculteit, r3faculteit, n3minr3, n3minr3faculteit, bovendeler3, onderdeler3, gedeelddoor3;
  90. //invoer van gegevens
  91. n3 = totaal;
  92. r3 = uitpakken;
  93. //faculteiten berekenen
  94. n3faculteit = fac (totaal);
  95. r3faculteit = fac (uitpakken);
  96. //onder de deler berekenen
  97. n3minr3 = n3 - r3;
  98. n3minr3faculteit = fac (n3minr3);
  99. // r! * (n-r)!
  100. bovendeler3 = n3faculteit;
  101. onderdeler3 = r3faculteit * n3minr3faculteit;
  102. //gedeeld door som
  103. gedeelddoor3 = bovendeler3 / onderdeler3;
  104. cout << n3 << " nCr " << r3 << " is: " << gedeelddoor3 << endl;
  105.  
  106. //complete som weergeven
  107. cout << "De som wordt: (" << n1 << " nCr " << r1 << " * " << n2 << " nCr " << r2 << ") / (" << n3 << " nCr " << r3 << ")" << endl;
  108.  
  109.  
  110. //berekenen van de complete som
  111. double bovendedelereind, onderdedelereind, uitkomst;
  112. bovendedelereind = gedeelddoor1 * gedeelddoor2;
  113. onderdedelereind = gedeelddoor3;
  114. uitkomst = bovendedelereind / onderdedelereind;
  115.  
  116. cout << "De uitkomst is: " << uitkomst << endl;
  117. cin.get();
  118.  
  119.  
  120.  
  121. return 0; //de afsluit prodedure
  122.  
  123. }
Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (2)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.058s