Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Ziegenproblem/3 Türen Problem programmieren

Hallo, ich versuche ein Ziegenproblem
http://de.wikipedia.org/wiki/Ziegenproblem
mit 1000 Durchläufen zu programmieren.

Wenn ich meinen jetzigen Code ausführen will kommt immer "segmentation fault (core dumped)"

Was mach ich falsch und was bedeutet diese Meldung?

Hier mein Code,


Danke im Vorauus


Antworten zu Ziegenproblem/3 Türen Problem programmieren:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hallo,
diese Fehlermeldung (als Speicherschutzverletzung bekannt) erzeugst Du, wenn Dein Programm versucht auf Speicher zuzugreifen, der ihm nicht gehört - mal ganz salopp gesagt.
Zum Beispiel bei Nutzung von uninitialisierten Pointern, die auf keine feste Adresse zeigen oder von Pointern, die auf schon freigegebene Speicherbereiche verweisen.

Einen Hardwaredefekt als Ursache schliessen wir hier mal aus, was aber durchaus auch vorkommen kann.

Deinen Screenshot habe ich mir nicht angesehen, poste Deinen Code bitte wie es üblich ist in Code-Tags, wenn der Hinweis noch nicht reicht.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hier ist mein Code:

#include<stdio.h>
#include<time.h>
#include<math.h>

     int rand() {
        srand(time(NULL));
        rand()%32767;
}

    int bleiben=0;
    int wechseln=0;

void play()  {
    int Tuer=rand();
    int Spiel=rand();
    int host=rand();
   
      while(host == Tuer || host == Spiel)
             host=rand();

    int bleibe=Spiel;
    int wechsel=rand();
   
       while(wechsel == bleibe || wechsel == host)
               wechsel=rand();

      if(bleibe == Tuer)
          ++bleibe;
      if(wechsel == Tuer)
          ++wechsel;
}

int main() {
     const int AnzahlLaeufe=1000;
     int i;

        for(i=0;i<AnzahlLaeufe;i++)
              play();

    printf("Versuche:  %i \n",AnzahlLaeufe);
    printf("Tuer beibehalten: %i \n",bleiben);
    printf("Tuer gewechselt: %i \n",wechseln);

return 0;
}

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hi,
lies mal hier generell zur Verwendung von rand() und srand() :
http://www2.informatik.uni-halle.de/lehre/c/c_random.html

BTW: Deine funktion rand() zu nennen ist keine gute Idee.


« Batch- suchen und ind den PFAD kopierenWindows 7: C++ Error »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Quellcode
Ein Quellcode, auch als Quelltext bekannt, bezeichnet einen unkompilierten Programm-Code einer Software. Der Quellcode ist meist in einer der verbreiteten Programmierspra...

Unicode
Ein Unicode ist ein "Einheitsschlüssel", der als internationaler Standard gilt. Unicode ist ein digitaler Zeichensatz zur Darstellung von weitestgehend jedem Schrift...

QR-Code
Die Abkürzung QR steht für "Quick Response" und besteht aus einer quadratischen Matrix mit schwarzen und weißen Punktren. Zudem sind auch Striche zu sehen...