Lottorader c#
Hej!
Läser just nu programmering 1 på gymnasiet. Vi håller nu på med en slutuppgift för konsollprogrammering (c#). Mitt projekt är ett program som du matar in en lottorad i (sju tal, inga tilläggsnummer). Denna raden kontrolleras sedan mot slumpade rader och räknar lite på sannolikhet. Programmet har två lägen:
1. Jämför din inmatade lottorad mot ett bestämt antal slumpade rader (ex. vis enmiljon stycken). Programmet talar sedan om för dig hur många gånger du fick 5, 6 samt 7 rätt.
2. Välj hur många rätt din egna rad ska ha gentemot slumpade rader. Loopa programmet tills det valda antalet rätt uppkommer, skriv ut hur många varv som krävdes.
Enligt sannolikhetsberäkningar (ex http://www.matteboken.se/lektioner/matte-1/ovningsexempel/lotto) bör man få 7 rätt var 6 700 000:e gång. Detta stämmer relativt bra mot vad båda lägena i mitt program visar (har tagit medelvärde på 1000 mätningar). Problem uppstår dock när man kollar på 6 eller 5 rätt, programmet ger ett resultat som visar att antalet 5 och 6 rätt är betydligt högre än vad som förväntas. Ex.vis om jag jämför min rad med 18 000 andra rader säger sannolikhetsberäkningarna att jag borde få 5 rätt en gång. Detta är inte resultatet. Programmet visar istället att jag får 5 rätt ungefär 15 gånger (även här har jag loopat och räknat medelvärde för att undvika tillfälligheter).
Programmet är uppbyggt så att det slumpar ett tal, kontrollerar så det inte finns tidigare i den slumpade lottoraden, kollar om det slumpade talet finns i min lottorad. Om talet finns i min lottorad ökar en variabel med ett. När alla sju tal i en rad är testade kollar den vad variablen visar. Om variablen visar ex. vis 5 rätt ökar en variabel för fem rätt med ett. När allt är klart skrivs resultatet ut. Den slumpade lottoraden och räknaren för antal rätt per slumpad lottorad nollställs mellan varven.
Någon som har en bra idé om vad felet kan vara?