GeirGrusom Skrevet 3. juni 2008 Del Skrevet 3. juni 2008 Hvis en kan unngå en matematisk usansynlighet, og gjøre det til en umulighet, er det alltid det beste valget. Matematiske usannsynligheter har en tendens til å treffe deg i trynet når kunden får kludre programmet med pølsefingrene sine. Lenke til kommentar
Mr.Garibaldi Skrevet 3. juni 2008 Del Skrevet 3. juni 2008 Hvis en kan unngå en matematisk usansynlighet, og gjøre det til en umulighet, er det alltid det beste valget.Matematiske usannsynligheter har en tendens til å treffe deg i trynet når kunden får kludre programmet med pølsefingrene sine. Godt poeng (for å ha noe semi-relevant til tråden som sådan).. Og det skrives "... (de var så) glade", med mindre du bruker De som høflig form, da blir det ".. De var så glad".. Lenke til kommentar
kjaa Skrevet 4. juni 2008 Forfatter Del Skrevet 4. juni 2008 Hei igjen. Jeg har lekt litt med forslagene deres og begynner å forstå dem. Det jeg leker med nå er å generere alle lottorekkene, mer enn 5 mill. Tenker da lottorekkene i 7 posisjoner hvor pos1 = 1 <=28, pos2 = 2<=29, pos3 = 3<=30 osv. Siden det ikke skal være duplikate tall, må pos2 være 1 større enn pos1 osv... Tenker noe slikt: for(i=1; i<=28; i++) pos1.Add(i) for(j=2; j<=29; j++) pos2.Add(j) // Denne fungerer ikke, Nesting kode tatt fra vb. Noen som kan lede meg i riktig retning? Lenke til kommentar
j000rn Skrevet 4. juni 2008 Del Skrevet 4. juni 2008 (endret) byte[] tall = new byte[7]; // Startert med 1,2,3,4,5,6,...x for (byte i = 0; i < tall.Length; i++) tall[i] = (byte)(i+1); while (true) { // Hvis tallet til høyre er for høyt, sett det til 1, og øk tallet forran for (int i = tall.Length-1; i >= 1; i--) if (tall[i] == 33) // vanlig lotto 1-32 ? { tall[i] = 1; tall[i - 1]++; } // Ferdig ? if (tall[0] == 33) break; // Er tallene unike? bool UniuqeNumbers = true; for (int i = 0; i < tall.Length; i++) for (int j = 0; j < tall.Length; j++) if (i != j && tall[i] == tall[j]) UniuqeNumbers = false; // Print if (UniuqeNumbers) { for (int i = 0; i < tall.Length; i++) Console.Write(tall[i] + " "); Console.WriteLine(); } // Øker siste talled med 1 tall[tall.Length-1]++; } Endret 4. juni 2008 av jorn79 Lenke til kommentar
kjaa Skrevet 5. juni 2008 Forfatter Del Skrevet 5. juni 2008 (endret) { for (int i = 0; i < tall.Length; i++) richTextBoxText.Text = tall.ToString(); } // Øker siste talled med 1 tall[tall.Length-1]++; }[/code] Takk for koden Jorn79. Jeg ønsker å vise disse rekkene i richTextBox. Er det riktig å plasere den i steden for Consol? Grunnen til spr er at koden kjører som bare det i Consol, men i Windows står det" Formen svarer ikke". Er det fordi rekkene blir lagt til etter at koden er kjørt? Edit: Ser at tallrekken i consol er feil. Gir bla: 1 2 7 8 3 31 24. Det er vel gunnen til at den bruker lang tid. Pos4 går helt til 32, men skal slutte på 31. Siste rekke skal bli 28 29 30 31 32 33 34 Endret 5. juni 2008 av kjaa Lenke til kommentar
j000rn Skrevet 5. juni 2008 Del Skrevet 5. juni 2008 Edit: Ser at tallrekken i consol er feil. Gir bla: 1 2 7 8 3 31 24. Det er vel gunnen til at den bruker lang tid. Pos4 går helt til 32, men skal slutte på 31. Siste rekke skal bli 28 29 30 31 32 33 34 Det er kun fordi jeg ikke har spilt nok lotto. Du får fikse koden selv :-P Lenke til kommentar
kjaa Skrevet 5. juni 2008 Forfatter Del Skrevet 5. juni 2008 Det er kun fordi jeg ikke har spilt nok lotto. Du får fikse koden selv :-P Det vil jeg prøve på. Takk for hjelpen. Lenke til kommentar
kjaa Skrevet 8. juni 2008 Forfatter Del Skrevet 8. juni 2008 Denne koden genererer alle lottokombinasjonene. Finnes det noen mulighet å overføre innholdet i consolen til ett tekst dokument? Notisblokk feks. static void Main(string[] args) { for (int i = 1; i <= 28; i++) // pos1 { for (int j = i + 1; j <= 29; j++) // pos2 { for (int k = j + 1; k <= 30; k++)// pos3 { for (int l = k + 1; l <= 31; l++)// pos4 { for (int m = l + 1; m <= 32; m++)//pos5 { for (int n = m + 1; n <= 33; n++)//pos6 { for (int o = n + 1; o <= 34; o++)//pos7 { Console.WriteLine("{0} {1} {2} {3} {4} {5} {6}", i, j, k, l, m, n, o); } Lenke til kommentar
ze5400 Skrevet 9. juni 2008 Del Skrevet 9. juni 2008 (endret) Textwriter? EDIT: using System.IO; ... TextWriter Writer = new StreamWriter(@""); Writer.WriteLine(""); Writer.Flush(); Writer.Dispose(); Endret 9. juni 2008 av ze5400 Lenke til kommentar
Manfred Skrevet 9. juni 2008 Del Skrevet 9. juni 2008 Hvorfor skal folk absolutt bruke TextWriter? Er plutselig StreamWriter ødelagt nå? Lenke til kommentar
ze5400 Skrevet 9. juni 2008 Del Skrevet 9. juni 2008 (endret) Min gode Manfred. I en bok jeg leste for flere vintre siden, om VB.NET 2001, brukte de TextWriter. Derfor bruker jeg det. Om dette er inkorrekt vet jeg ikke noe om, da VS ikke har gitt meg så mye som en eneste advarsel enda. Endret 9. juni 2008 av ze5400 Lenke til kommentar
GeirGrusom Skrevet 9. juni 2008 Del Skrevet 9. juni 2008 (endret) Det er ikke inkorrekt, det er bare unødvendig. Grunnen er ganske enkelt at TextWriter er en abstrakt klasse som StreamWriter arver fra. Så "TextWriter writer = new StreamWriter(...) as TextWriter" er bare litt krøkkete. Jeg har sett samme eksempelet selv, men jeg aner ikke hvorfor de har gjort det sånn. Endret 9. juni 2008 av GeirGrusom Lenke til kommentar
kjaa Skrevet 10. juni 2008 Forfatter Del Skrevet 10. juni 2008 Textwriter? EDIT: using System.IO; ... TextWriter Writer = new StreamWriter(@""); Writer.WriteLine(""); Writer.Flush(); Writer.Dispose(); Takk for tipset. Det tok ca 2-3 sek å lage fila mot 10-12 min i console. Fila ble forøvrig 98 mb stor. Lenke til kommentar
ze5400 Skrevet 10. juni 2008 Del Skrevet 10. juni 2008 Det er ikke inkorrekt, det er bare unødvendig. Grunnen er ganske enkelt at TextWriter er en abstrakt klasse som StreamWriter arver fra. Så "TextWriter writer = new StreamWriter(...) as TextWriter" er bare litt krøkkete. Jeg har sett samme eksempelet selv, men jeg aner ikke hvorfor de har gjort det sånn. Okay. Skal slutte å bruke det siden Manfred sikkert dreper en selunge for hver gang jeg bruker det Takk for tipset. Det tok ca 2-3 sek å lage fila mot 10-12 min i console. Fila ble forøvrig 98 mb stor. Bare hyggelig Tør jeg spørre hva du skal med så mange tall? Lenke til kommentar
Manfred Skrevet 10. juni 2008 Del Skrevet 10. juni 2008 Okay. Skal slutte å bruke det siden Manfred sikkert dreper en selunge for hver gang jeg bruker det Neida, det er bare Gud som dreper små pusekatter. Lenke til kommentar
kjaa Skrevet 10. juni 2008 Forfatter Del Skrevet 10. juni 2008 Tør jeg spørre hva du skal med så mange tall? Ble litt gira når jeg kikket på løkker. Jeg syntes statistikk er spennende og har alle lottoresultatene lagret siden 19.04.1986. Jeg ble forøvrig overrasket av hvor fort det gikk å skrive til tekst. Det neste prosjektet er å lage dette i form og vise resultatet i en listebox. Tenkte å se mer på koden som Jørn postet. Selv om den går i en evig løkke, regner jeg med at mye ligger der. Noe sier meg at dette kan gjøres på flere måter og hastigheten på genereringen er også interessant. Ett lottoprogram fra Scantips,kodet i Delphi, genererer 5.379.616 lottorekker på ca 4-7 sek. Lenke til kommentar
GeirGrusom Skrevet 10. juni 2008 Del Skrevet 10. juni 2008 Lag et program som viser distribueringen av lottorekene da Lenke til kommentar
kjaa Skrevet 18. juni 2008 Forfatter Del Skrevet 18. juni 2008 (endret) Legger ved hele koden fordi som vil leke. Denne koden har ett problem. Jeg forsøker å telle antall rekker i tillegg. Denne er den son gir minst feil. Noen som har forslag? using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace ConsoleApplication1 { class Program { private const String filpath = "C:\\Lotto\\"; static void Main(string[] args) { string Rekkenr; while (Rekkenr < 5379616) string text = null; StreamWriter writer = new StreamWriter(@filpath + "lotto.txt", false); for (int i = 1; i <= 28; i++) // pos1 for (int j = i + 1; j <= 29; j++)//pos2 for (int k = j + 1; k <= 30; k++)//pos3 for (int l = k + 1; l <= 31; l++)//pos4 for (int m = l + 1; m <= 32; m++)//pos5 for (int n = m + 1; n <= 33; n++)//pos6 for (int o = n + 1; o <= 34; o++)//pos7 { text = Rekkenr + "~" + 1 + "~" + i + "~" + j + "~" + k + "~" + l + "~" + m + "~" + n + "~" + o + "\n"; writer.Write(text); } writer.Close(); } } } Endret 18. juni 2008 av kjaa Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå