Zähler einbauen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
rolaf
Beiträge: 3843
Registriert: 10.03.2005 14:01

Beitrag von rolaf »

tipyo hat geschrieben:Hallo,

bei Deinem Programm gibt es in Zeile 15 eine Fehlermeldung

mfg

tipyo
Jo war noch für PB-Version 3.94 ab 4.00 Zeile 15 so ersetzen:

WriteStringN(0,z1+z2+z3+z4+z5+z6)

In der Fehlermeldung wird aber auf den fehlenden Parameter hingewiesen (Dateinummer). Sowas immer genau lesen und schon kannst du den Fehler meist schnell korregieren. :allright:
:::: WIN 10 :: PB 5.73 :: (x64) ::::
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

@tipyo

...und jetzt benutz mal bitte den edit-button,
füge in deinem Posting mit dem Code die Code-tags ein
(einfach den [CODE]-Button auf der site benutzen,
oder manuell [code][/code] dazuschreiben.)
und dann rück deinen code mal ein, damit man die schachtelungen der schleifen sieht.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
tipyo
Beiträge: 20
Registriert: 07.07.2007 09:50

Beitrag von tipyo »

Hallo Falo,

hast Du eventuell noch mehr zum Thema Lotto.

Beispiel: Auswertung von 6er Kombinationen / Treffer usw.


mfg

tipyo
tipyo
Beiträge: 20
Registriert: 07.07.2007 09:50

Beitrag von tipyo »

Hallo,

ich suche Hilfe für folgendes Problem.
Bin auch gerne bereit etwas dafür zu zahlen (Bitte nicht zu viel):
=========================================
Programmablauf:

1) Es werden alle 7er Kombis aus 49 erstellt
49*48*47*46*45*44*43 = 432.938.943.360 geteilt durch
1*2*3*4*5*6*7 = 5040
ergeben 85.900.584 7er Kombis

Beispiel:
01 02 03 04 05 06 07
01 02 03 04 05 06 08
usw.
usw.


2) Nachdem diese Mega-Datei erstellt ist wird ausgewertet.
Eine ziehungen.txt Datei wird geöffnet diese hat zur Zeit
2699 Zeilen an Einträgen.

Hier ein Auszug:
2691 13 15 20 32 37 49 19
2692 17 21 22 28 31 42 14
2693 04 07 09 21 29 34 18
2694 01 17 25 26 41 42 23
2695 13 18 24 28 31 44 21
2696 19 22 23 31 32 42 30
2697 02 18 26 34 39 49 13
2698 10 25 29 33 36 41 23
2699 01 02 05 16 31 36 06

Beispiel:2699
Die 2699 ist die Ziehungs-Nr.
Die 01 war die 1.Lottozahl
Die 02 war die 2.Lottozahl
Die 05 war die 3.Lottozahl
Die 16 war die 4.Lottozahl
Die 31 war die 5.Lottozahl
Die 36 war die 6.Lottozahl
Die 06 war die Zusatzzahl

Die Auswertung soll wie folgt ablaufen:
Jede einzelne Zeile aus der Mega-Datei wird nun mit jeder einzelnen Zeile
der ziehungen.txt verglichen. Am Ende soll das Programm mir sagen welche Zeile aus der Mega-Datei (sind ja 85.900.584 Zeilen) die meisten übereinstimmungen ab 3 richtige Zahlen hat. Also 3er, 3er mit Zusatzzahl, 4er, 4er mit Zusatzzahl usw. bis 6er mit Zusatzzahl.
Also nur die Top-Zeile: Vielleicht auch die Top10

Ich hoffe das ich jetzt nicht erschlagen werde - für diese Frage!

mfg

tipyo
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> ergeben 85.900.584 7er Kombis
ich kann zwar deine berechnung nicht nachvollziehen,
denn das wäre eigentlich 49 über 7, also der sogenannte Binomialkoeffizient,
aber da der wert ungefähr hinkommen könnte, nehme ich den mal so hin.

bei platzsparenster gliederung braucht du neun byte pro datensatz.
7byte für die 7 vorkommenden zahlen, und zwei byte zum mitzählen,
wie oft die reihe gezogen wurde.
(da würde ich halt schon ein Word nehmen, kein einzelnes byte)

wenn du das mit text-datensätzen lösen wolltest, bräuchtest du wesentlich mehr platz,
außerdem würde die auswertung noch langsamer.

also lass uns das mal berechnen:
85.900.584 x 9 = 773105256 byte = 754985,6 KB = 737,3 MB

der platzbedarf wäre also nicht SO wahnsinnig groß,
dass du die gesamten daten nicht im speicher halten könntest.
(die maschine sollte jedoch mindestens 2GB RAM haben,
sonst ist der geschwindigkeitsvorteil verloren, weil er dauernd swappen muss)

da du zum checken deiner aufzeichnungen (ziehungen.txt) für JEDEn datensatz
der ziehungen ALLE datensätze der Meta-Datei durchgehen müßtest,
wäre das aus geschwindigkeitsgründen wirklich zu empfehlen.

die einzelne überprüfung selber dauert nicht so wahnsinnig lange,
also wirst du wesentlich schneller rumkommen, wenn du das im speicher machst.

trotzdem wird die gesamte bearbeitung der 2700 datensätze ne ziemliche weile dauern.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
tipyo
Beiträge: 20
Registriert: 07.07.2007 09:50

Beitrag von tipyo »

Hallo Kaeru Gaman,

könntest Du mir das was schreiben (gegeb Bezahlung)?

Könnten wir uns dann per e-mail oder wie auch immer
verständigen?


mfg

tipyo
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

nuja... ich hab eigentlich keine lust auf so ein projekt.

ich hab keine 2GB speicher, und sowas von datei zu lesen...
allein das erzeugen der meta-datei würde ewig dauern,
und dann die testläufe, um zu checken ob das programm korrekt arbeitet...
da graust mir schon bei dem gedanken.

und wofür? um zu wissen, welche lottozahlen wie oft gezogen wurden?
das interessiert mich nun wirklich keine banane.

aus interesse würde ich das garantiert nicht machen,
also müßtest du mir schon wirklich einiges bezahlen...

das ist höchstens für ein schulprojekt interessant, und dann solltest du das programm auch selber schreiben.

solche berechnungen sind bestimmt schon längst auf irgendwelchen unis gemacht worden,
wenn du nur die ergebnisse brauchst, musst du dich halt mal durchgooglen,
bestimmt kannst du irgendwo eine dementsprechend große auswertung runterladen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
tipyo
Beiträge: 20
Registriert: 07.07.2007 09:50

Beitrag von tipyo »

Hallo,

schade - ich glaube kaum einer weis was die beste 7er Kombination im Lotto 6aus49 ist. Welche bis dato die meisten Gewinne erzielt hätte.


Na ja - danke für Deine Info :cry:


mfg

tipyo
Benutzeravatar
rolaf
Beiträge: 3843
Registriert: 10.03.2005 14:01

Beitrag von rolaf »

Wie schon gesagt, steck den Kopf nicht in den Sand. Du weist was du berechnen willst, hast sogar einen Plan wie es ablaufen soll. Was spricht dagegen sich Schritt für Schritt ranzuarbeiten. Merist scheitert sowas nur wenn man zu ungeduldig ist und sofort Ergebnisse erwartet.

Nur Mut, rangehen und das Prinzip erst mal mit kleineren Dimensionen durchkauen. Ich hab meine Lottobastelleien auch nicht von heute auf morgen programmiert. Noch heute endecke ich immer wieder Optimierungsmöglickeiten an meinen Codes und habe damit bereits 1998 angefangen. Also hau ran... :allright:
:::: WIN 10 :: PB 5.73 :: (x64) ::::
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

genau.
mach dich halt dran und ziehs durch, dann wird auch was draus :allright:
tipyo hat geschrieben:ich glaube kaum einer weis was die beste 7er Kombination im Lotto 6aus49 ist. Welche bis dato die meisten Gewinne erzielt hätte.

das wäre aber trotzdem nur eine statistische sache.
daraus, dass eine bestimmte kombination am häufigsten gefallen ist,
ergibt sich nicht zwangsweise die schlussfolgerung, dass sie auch in zukunft am häufigsten fallen wird.
und selbst wenn, kann es trotzdem sein, dass man 10 jahre spielen muss bevor sie wiederkommt.

und ich bin mir sicher, solche auswertungen gab es schon.
wie ich schon sagte, schnüffel dich mal bei verschiedenen Unis durch.
die Daten wurden garantiert schon berechnet, irgendwann von irgendwem.
bestimmt gibt es auch fortlaufende projekte, die immernoch ihre statistik aktualisieren.

aber es wird eben niemals mehr sein als eine statistik.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten