Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Slumptal med Random()

Postades av 2003-03-20 17:21:23 - Rickard Lindberg, i forum c# (c-sharp), Tråden har 13 Kommentarer och lästs av 6935 personer

Tjena,
Har följande kod för att generera 6 olika slumptal. Om ni kör koden kommer ni märka att man får nästan exakt samma 6 slumptal. Varför? Finns det något sätt att lösa detta på? Jag vill ha SLUMPTAL och inte exakt lika tal...

string m = "";
for (int i = 0; i < 6; i++)
{
Random r = new Random();
m += r.NextDouble().ToString() + "\n";
}
MessageBox.Show(m);


Svara

Sv: Slumptal med Random()

Postades av 2003-03-20 17:38:13 - Thomas Tydal

> Random r = new Random();

Du ska nog seed:a där, alltså ge ett startvärde som den ska "slumpa" efter.

En dator kan ju inte slumpa så följdaktligen kan du inte få slumptal från randomfunktionen. Du får bara så kallade "psuedo random numbers", dvs halv-slumpade tal. Tal som vid en första anblick ser slumpade ut, men som är matematiskt beräknade utifrån en formel och det värde du anger till random (seed).

I CryptoAPI:t finns en randomfunktion som har fler startvärden än du anger och därmed ger bättre halvslumpade tal. Det är tänkt att användas till kryptering där äkta slumptal är ett krav. Men du borde klara dig med den vanliga randomfunktionen.


Svara

Sv: Slumptal med Random()

Postades av 2003-03-20 18:16:48 - Ola Herrdahl

Nyttan med att talen alltid kommer i ordning är att man kan återupprepa sina försök.
Väldigt jobbigt om ett program skulle krascha och sen kan man inte backa o kolla vilka tal som slumpades fram.

Jag tror Thomas glömde att nämna att fröet förmodligen måste variera mellan körningarna oxså.
Normalt sett anger det bara var i serien man ska starta, samma frö ger fortfarande lika tal.
Jag skulle ha använt mig av tiden i millisekunder lr något liknande som frö.


Svara

Sv: Slumptal med Random()

Postades av 2003-03-20 18:59:19 - Rickard Lindberg

Provade detta, men det blev ingen skillnad:

Random rnd = new Random(DateTime.Now.Millisecond);
digit = (int)Math.Round(rnd.NextDouble() * 5, 0) + 1;

Någon som har något förslag på vad man kan göra?


Svara

Sv: Slumptal med Random()

Postades av 2003-03-20 19:24:17 - Mattias Sjögren

Flytta

Random r = new Random();

till ovanför for loopen.


MS


Svara

Sv: Slumptal med Random()

Postades av 2003-03-20 19:43:41 - Ola Herrdahl

Det är eftersom det går för fort, tiden hinner inte ändras. (alltså samma frö)
MS förslag är den normala lösningen. (Alltså anänd fröet till att skapa din serie och slumpa sedan fram talen med next().)

Det är nog (jag reserverar mig för fel här) bara om du vill ha oberoende slumptalsfördelningar du behöver ange ett nytt frö.


Svara

Sv: Slumptal med Random()

Postades av 2003-03-20 20:32:31 - Rickard Lindberg

Kan du förklara lite mer, förstår inte riktigt...


Svara

Sv: Slumptal med Random()

Postades av 2003-03-20 21:05:43 - Ola Herrdahl

string m = "";
Random r = new Random(DateTime.Now.Millisecond);
for (int i = 0; i < 6; i++)
{
m += r.NextDouble().ToString() + "\n";
}
MessageBox.Show(m);

Fungerar väl som du vill?

Resten är statistiskt krimskrams. :D
Men säg att man vill representera två individuella objekt, då vill man inte ha ett beroende mellan slumptalen.
Istället generarar man två olika följder av slumptal.


Svara

Sv: Slumptal med Random()

Postades av 2003-03-20 21:35:34 - Rickard Lindberg

Men om jag använder det där så blir nästan alltid 3 av fem resultat lika...
Det måste finnas något annat sätt....


Svara

Sv: Slumptal med Random()

Postades av 2003-03-20 21:53:49 - Ola Herrdahl

Är det så konstigt?
Kan du generera en lista med tal o visa.
Typ:
Omgång tal1 tal2 tal3 tal4..

Jag har tyvärr ingen möjlighet att testa själc nu.


Svara

Sv: Slumptal med Random()

Postades av 2003-03-21 08:23:25 - Johan Bovin

Jag skulle påstå att och?:s kod funkar utmärkt. Det är inget annat skumt du gör? Typ avrundar eller nåt. Har du verkligen kört exakt samma kod som Och? och får ut tre av fem tal som identiska? Det borde i så fall vara ett slumpmässigt under....


Svara

Sv: Slumptal med Random()

Postades av 2003-03-21 10:29:10 - Ola Herrdahl

Jag kom oxså att tänka på avrundning nu.

Ricki säg att vi avrundar till närmaste heltal:

0.0<x<0.5=0
0.5<x<1.5=1
.
.
.
4.5<x<5.5=5
5.5<x<6.0=6

Intervallen för 0 och 6 blir bara hälften så stora som de andra.


Svara

Sv: Slumptal med Random()

Postades av 2003-03-21 15:48:55 - Rickard Lindberg

Hade gjort en liten miss i mitt program. Det funkade att göra som ni sa!
Tack för all hjälp!


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 154
27 952
271 704
617
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies