#include <iostream> //includeren van input en output
#include <string> //includeren van de string
using namespace std; //de namespace
//faculteit
double fac (double a)
{
if (a > 1)
return (a * fac (a-1));
else
return (1);
}
//de faculteit beschreven
int main(){ //de main
//beginnen met integers en doubles benoemen
double totaal,succes,geensucces,uitpakken,aantalkeersucces,aantalzondersuccesinberekening;
//wat info van tevoren
cout << "De volgende getallen moeten ingevuld worden volgens het vaasmodel." << endl;
cout << "Druk op ENTER om door te gaan" << endl;//meedelen voor het vaasmodel en enter drukken
cin.get();//zorgen dat je eerst op enter moet drukken
//vragen
cout << "Hoeveel 'knikkers' zijn er in totaal?" << endl;//vragen hoeveel knikkers er in de vaas zitten
cin >> totaal;
cout << "Hoeveel 'knikker(s)' hebben succes?" << endl; //vragen hoeveel succes hebben
cin >> succes;
//uitrekenen van niet succesen
geensucces = totaal - succes;
//vragen...
cout << "Hoeveel 'knikker(s)' pak je uit de vaas?" << endl;//vragen hoeveel je er uit pakt
cin >> uitpakken;
cout << "Hoeveel keer wil je succes hebben?" << endl;//de rest van de knikkers
cin >> aantalkeersucces;
aantalzondersuccesinberekening = uitpakken - aantalkeersucces;//aantal knikkers die geen succes hebben
cout << " " << endl << endl;
cin.get();
//berekenen van de kansen:
//berekenen van n1 en r1 het allereerste getal dus
double n1, r1, n1faculteit, r1faculteit, n1minr1, n1minr1faculteit, onderdeler1, gedeelddoor1, bovendeler1;//benoemen van doubles
//invoer gegevens
n1 = succes;
r1 = aantalkeersucces;
//faculteit berekenen
n1faculteit = fac (n1);
r1faculteit = fac (r1);
//onder de deler berekenen
n1minr1 = n1 - r1; //n1 - r1
n1minr1faculteit = fac (n1minr1);// faculteit van n1 - r1
// r! * (n-r)!
bovendeler1 = n1faculteit;
onderdeler1 = r1faculteit * n1minr1faculteit;
//gedeeld door som
gedeelddoor1 = bovendeler1 / onderdeler1;
cout << n1 << " nCr " << r1 << " is: " << gedeelddoor1 << endl;
//berekenen van n2 en r2 tweede getal dus
double n2, r2, n2faculteit, r2faculteit, n2minr2, n2minr2faculteit, bovendeler2, onderdeler2, gedeelddoor2;
//invoer gegevens
n2 = geensucces;
r2 = aantalzondersuccesinberekening;
//faculteiten berekenen
n2faculteit = fac (n2);
r2faculteit = fac (r2);
//onder de deler berekenen
n2minr2 = n2 - r2;
n2minr2faculteit = fac (n2minr2);
//r! * (n-r)!
bovendeler2 = n2faculteit;
onderdeler2 = r2faculteit * n2minr2faculteit;
//gedeeld door som
gedeelddoor2 = bovendeler2 / onderdeler2;
cout << n2 << " nCr " << r2 << " is: " << gedeelddoor2 << endl;
//berekenen van n3 en r3 het 3e getal (de deler)
double n3, r3, n3faculteit, r3faculteit, n3minr3, n3minr3faculteit, bovendeler3, onderdeler3, gedeelddoor3;
//invoer van gegevens
n3 = totaal;
r3 = uitpakken;
//faculteiten berekenen
n3faculteit = fac (totaal);
r3faculteit = fac (uitpakken);
//onder de deler berekenen
n3minr3 = n3 - r3;
n3minr3faculteit = fac (n3minr3);
// r! * (n-r)!
bovendeler3 = n3faculteit;
onderdeler3 = r3faculteit * n3minr3faculteit;
//gedeeld door som
gedeelddoor3 = bovendeler3 / onderdeler3;
cout << n3 << " nCr " << r3 << " is: " << gedeelddoor3 << endl;
//complete som weergeven
cout << "De som wordt: (" << n1 << " nCr " << r1 << " * " << n2 << " nCr " << r2 << ") / (" << n3 << " nCr " << r3 << ")" << endl;
//berekenen van de complete som
double bovendedelereind, onderdedelereind, uitkomst;
bovendedelereind = gedeelddoor1 * gedeelddoor2;
onderdedelereind = gedeelddoor3;
uitkomst = bovendedelereind / onderdedelereind;
cout << "De uitkomst is: " << uitkomst << endl;
cin.get();
return 0; //de afsluit prodedure
}