kanka73 Geschrieben 24. Mai 2008 Geschrieben 24. Mai 2008 Hallo zusamen, ich bin Anfänger beim Programmieren. Ich habe ein problem mit mein Arbeit. Es soll eine Funktion haben wie folgt: Lottozahlen von 1-6 manuell selber eingeben. Zufallsgenerator muss mir als Antwort folgendes geben" Sie müssen noch X(zahl) mal spielen damit sie 6 richtige haben. So soll es aussehen ungefähr: 6 deine 1. Zahl ist die 6 12 Deine 2.zahl ist die 12 45 Deine 3. Zahl ist die 45 39 Deine 4. Zahl ist die 39 25 Deine 5. Zahl ist die 25 19 Deine 6. Zahl ist die 19 Dumusst "soviel" mal spielen um 6 richtige zu haben So soll es ungefähr aussehen. Gruß kanka73 Zitieren
flashpixx Geschrieben 24. Mai 2008 Geschrieben 24. Mai 2008 Hallo, zum einen, das hört sich wieder nach Hausaufgaben an. Wenn Du ein Problem hast, dann gebe an, was Du bis jetzt hast. Als nächstes: Was willst Du machen. Du kannst nicht so oft spielen, um 6 richte zu bekommen, Du müsstest "49 über 6" Möglichkeiten iterativ durch probieren. Formuliere Deine Frage und den bis dahin genommen Lösungsweg bitte etwas präziser Phil Zitieren
Panke Geschrieben 25. Mai 2008 Geschrieben 25. Mai 2008 Du kannst aber ausgeben, wie oft man noch spielen muss, um mit 95% Wahrscheinlichkeit einmal sechs Richtige zu landen. Wie das geht, steht im Stochastikbuch deiner Wahl. Ist mMn kein spezifisches Programmierproblem. Zitieren
kanka73 Geschrieben 26. Mai 2008 Autor Geschrieben 26. Mai 2008 Mein programm sieht so aus: #include <iostream.h> #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <time.h> #include <dos.h> #define MAX 7 int x[6]; void Sortieren1 (void); main() { int a,n; randomize(); //Intialisierung- 1Mal for (a=0;a<MAX;a++) { x[a]=random (49)+1 ; for (n=0;n<MAX;n++); } Sortieren1 (); cout<<x[0]<<endl; cout<<x[1]<<endl; cout<<x[2]<<endl; cout<<x[3]<<endl; cout<<x[4]<<endl; cout<<x[5]<<endl; getch(); } void Sortieren1 (void) { int i,hilf,unsortiert; do { unsortiert=0; for ( i=0; i<MAX; i++) if ( x > x[i+1] ) { hilf = x ; x = x[i+1] ; x[i+1] = hilf; unsortiert=1; } } while ( unsortiert ); } // Sortieren1 dieses will so ändern, statt der generator mir 6 zahlen schmeisst sondern das ich die zahlen manuell 1-6 selber eingebe, und der zufalls generator gibt aus wieviel richtige ich habe oder wieviel mal ich spielen soll damit ich 6 richtige habe. Danke für eure Antworten:) Gruß kanka73 Zitieren
Panke Geschrieben 26. Mai 2008 Geschrieben 26. Mai 2008 Codetags. Macht es euren Helfern doch nicht noch schwerer .. Und: Du kannst nicht ausgeben, wie oft man noch spielen muss, um zu gewinnen. Das kann nämlich prinzipiell auch nie passieren. Zitieren
kanka73 Geschrieben 26. Mai 2008 Autor Geschrieben 26. Mai 2008 mein angegebene programm gibt mir per zufall 6 zahlen raus in reihengolge, und dieses will umändern wie angegeben. Gruß kanka73 Zitieren
Panke Geschrieben 26. Mai 2008 Geschrieben 26. Mai 2008 Pseudocode: array : Feld für sechs Zahlen zähler: Ganzzahl mit Wert 0 Solange zähler kleiner als 6 Zahl einlesen Zahl schon im Feld? Nein --> Zahl im Feld speichern; Zähler erhöhen Ja --> Zahl verwerfen [/PHP] Prüfen wieviele Richtige: Kardinalität der Schnittmenge von Eingabemenge und erzeugte Zahlenmenge. Gruß Zitieren
Toothrot Geschrieben 27. Mai 2008 Geschrieben 27. Mai 2008 Dumusst "soviel" mal spielen um 6 richtige zu haben Dafür musst du lediglich eine Glaskugel implementieren. Die Wahrscheinlichkeit von 6 Richtigen (Bei 6 aus 49) liegt ungefähr bei 1/1398386. Das heißt: Auf lange Sicht (lies: bei unendlich vielen Versuchen) kommen auf jeweils 1,398,386 Versuche einmal 6 Richtige. Das heißt aber nicht, dass man beim 1,398,386. Versuch gewinnt. Man kann genauso gleich beim ersten oder erst beim 2,598,386. Versuch gewinnen. Die Wahrscheinlichkeit, zu gewinnen, erhöht sich auch nicht dadurch, dass man schon sehr oft gespielt und nicht gewonnen hat. Der Zufall hat kein Gedächtnis. Zitieren
kanka73 Geschrieben 30. Mai 2008 Autor Geschrieben 30. Mai 2008 Hallo nochmal, ich habe das Programm umgeändert, ich habe auch selber eingesehen das die Wahrscheinligkeit auf sechs richtige zu treffen fast in das unendliche geht. Trotzdem danke an alle, übrigens ich habe das so programmiert das ich selber 1-6 manuell eingebe und der zufallasgenerator wird im hintergrund sechs zahlen generiert und sagt mir aus wieviel richtige ich habe, immerhin etwas . Zitieren
Panke Geschrieben 30. Mai 2008 Geschrieben 30. Mai 2008 Hallo, nein, sie ist nicht unendlich sondern 1 / (49 über 6). Wenn du 6 unterschiedliche Zufallszahlen aus [1 : 49] generieren willst, geht das in C++ folgendermaßen: #include <iostream> #include <cstdlib> #include <set> using namespace std; int main() { set<int> zahlen; while(zahlen.size()<6) { zahlen.insert(rand()%49+1); } for(set<int>::iterator it = zahlen.begin(); it != zahlen.end(); it++) { cout << *it << "\n"; } } [/PHP] Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.