Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <time.h>
- int durchfuhrungen = 50;
- double erfolg = 0.65;
- double niveau = 0.9;
- void aufg1()
- {
- int oben, unten;
- double verteilung = 0;
- int mode = 0;
- if (mode == 0)
- {
- if (niveau == 0.8)
- {
- verteilung = 1.2824;
- }
- else if (niveau == 0.9)
- {
- verteilung = 1.6464;
- }
- else if (niveau == 0.95)
- {
- verteilung = 1.9623;
- }
- else if (niveau == 0.98)
- {
- verteilung = 2.3301;
- }
- else if (niveau == 0.99)
- {
- verteilung = 2.5807;
- }
- oben = ((double)durchfuhrungen * (double)erfolg + ((double)sqrt((double)durchfuhrungen * (double)erfolg * (1 - (double)erfolg)) * (double)verteilung) + 0.5) + 0.5;
- unten = ((double)durchfuhrungen * (double)erfolg - ((double)sqrt((double)durchfuhrungen * (double)erfolg * (1 - (double)erfolg)) * (double)verteilung) + 0.5) + 0.5;
- }
- else if (mode == 1)
- {
- if (niveau == 0.9)
- {
- verteilung = 1.2824;
- }
- else if (niveau == 0.95)
- {
- verteilung = 1.6464;
- }
- else if (niveau == 0.975)
- {
- verteilung = 1.9623;
- }
- else if (niveau == 0.99)
- {
- verteilung = 2.3301;
- }
- else if (niveau == 0.995)
- {
- verteilung = 2.5807;
- }
- oben = (double)durchfuhrungen * (double)erfolg + ((double)sqrt((double)durchfuhrungen * (double)erfolg * (1 - (double)erfolg)) * (double)verteilung) + 0.5;
- unten = 0;
- }
- else
- {
- if (niveau == 0.9)
- {
- verteilung = 1.2824;
- }
- else if (niveau == 0.95)
- {
- verteilung = 1.6464;
- }
- else if (niveau == 0.975)
- {
- verteilung = 1.9623;
- }
- else if (niveau == 0.99)
- {
- verteilung = 2.3301;
- }
- else if (niveau == 0.995)
- {
- verteilung = 2.5807;
- }
- oben = durchfuhrungen;
- unten = (double)durchfuhrungen * (double)erfolg - ((double)sqrt((double)durchfuhrungen * (double)erfolg * (1 - (double)erfolg)) * (double)verteilung) + 0.5;
- }
- std::cout << "Der Akzeptanzbereich beträgt [" << unten << ", " << oben << "]" << std::endl;
- }
- void aufg2()
- {
- int anz = 100000;
- int oben, unten;
- double verteilung = 0;
- int mode = 0;
- int test = 0;
- int counter = 0;
- int counter2 = 0;
- if (mode == 0)
- {
- if (niveau == 0.8)
- {
- verteilung = 1.2824;
- }
- else if (niveau == 0.9)
- {
- verteilung = 1.6464;
- }
- else if (niveau == 0.95)
- {
- verteilung = 1.9623;
- }
- else if (niveau == 0.98)
- {
- verteilung = 2.3301;
- }
- else if (niveau == 0.99)
- {
- verteilung = 2.5807;
- }
- oben = ((double)durchfuhrungen * (double)erfolg + ((double)sqrt((double)durchfuhrungen * (double)erfolg * (1 - (double)erfolg)) * (double)verteilung) + 0.5) + 0.5;
- unten = ((double)durchfuhrungen * (double)erfolg - ((double)sqrt((double)durchfuhrungen * (double)erfolg * (1 - (double)erfolg)) * (double)verteilung) + 0.5) + 0.5;
- }
- else if (mode == 1)
- {
- if (niveau == 0.9)
- {
- verteilung = 1.2824;
- }
- else if (niveau == 0.95)
- {
- verteilung = 1.6464;
- }
- else if (niveau == 0.975)
- {
- verteilung = 1.9623;
- }
- else if (niveau == 0.99)
- {
- verteilung = 2.3301;
- }
- else if (niveau == 0.995)
- {
- verteilung = 2.5807;
- }
- oben = (double)durchfuhrungen * (double)erfolg + ((double)sqrt((double)durchfuhrungen * (double)erfolg * (1 - (double)erfolg)) * (double)verteilung) + 0.5;
- unten = 0;
- }
- else
- {
- if (niveau == 0.9)
- {
- verteilung = 1.2824;
- }
- else if (niveau == 0.95)
- {
- verteilung = 1.6464;
- }
- else if (niveau == 0.975)
- {
- verteilung = 1.9623;
- }
- else if (niveau == 0.99)
- {
- verteilung = 2.3301;
- }
- else if (niveau == 0.995)
- {
- verteilung = 2.5807;
- }
- oben = durchfuhrungen;
- unten = (double)durchfuhrungen * (double)erfolg - ((double)sqrt((double)durchfuhrungen * (double)erfolg * (1 - (double)erfolg)) * (double)verteilung) + 0.5;
- }
- for (int n = 0; n < anz; n++)
- {
- counter = 0;
- for (int i = 0; i < durchfuhrungen; i++)
- {
- test = rand() % 100;
- if (test < erfolg * 100)
- {
- counter++;
- }
- }
- if (counter <= oben && counter >= unten)
- {
- counter2++;
- }
- }
- std::cout << "Das Ergebnis der Ziehungen lag " << counter2 << " mal von " << anz << " im Akzeptanzbereich" << std::endl;
- }
- int main()
- {
- srand(time(NULL));
- aufg1();
- aufg2();
- system("PAUSE");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement