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
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
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.
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
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.
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
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ß
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.
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 .
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]
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden