17. december 2012 - 12:12
Der er
7 kommentarer og 1 løsning
4 gennemsnit må ikke ligge for tæt
jeg har 4 tal ,men da de skal fremstilles grafisk skal der være minmum 0,23 imellem alle tallene. Hvordan gør man det nemmest der kommer ikke til at være mere end 5 tal så beregnings tiden er ikke så vigtigt. 0,565861552 0,578530335 0,64742538 0,920513378
Annonceindlæg fra Tabellae
17. december 2012 - 13:25
#1
Kunne du ikke lave et loop? Lav et loop som løber while(diff ikke god nok) random = random() og så gemme diff som forskel på sidste tal og nyeste tal?
17. december 2012 - 13:44
#2
hmm hvordan ?
17. december 2012 - 14:07
#3
Hvad skal den gøre hvis der ikke er nok imellem? Skip? Add? Exception?
17. december 2012 - 14:09
#4
Ved godt det er VBA kode men ideen er den sammen :-), hvis der er nogle der har bedre læsninger vil jeg gerne høre det Set RngToCover = ActiveSheet.Range("B3:E3") Set RngToTjeck = ActiveSheet.Range("B3:E3") restart: For Each Cell In RngToCover For Each Celltjek In RngToTjeck If (Cell - Celltjek) = 0 Then GoTo endd End If If Abs(Cell - Celltjek) <= 0.023 Then Cell.Value = Cell.Value + 0.001 GoTo restart End If endd: Next Celltjek Next Cell
17. december 2012 - 14:10
#5
Jeg er ikke den store C# haj. Men har her forsøgt mig i php. Håber du så selv kan udtænke løsningen i c#. :o) <?php $diff = 0.23; $ran1 = (rand(1,100)/100); $ran2 = (rand(1,100)/100); $ran3 = (rand(1,100)/100); $ran4 = (rand(1,100)/100); while(abs($ran1-$ran2) < $diff){ $ran2 = (rand(1,100)/100); } while(abs($ran2-$ran3) < $diff){ $ran3 = (rand(1,100)/100); } while(abs($ran3-$ran4) < $diff){ $ran4 = (rand(1,100)/100); } echo "RAN1: " . $ran1 . '<br />'; echo "RAN2: " . $ran2 . '<br />'; echo "RAN3: " . $ran3 . '<br />'; echo "RAN4: " . $ran4 . '<br />'; ?>
18. december 2012 - 20:08
#6
Hvor stor må forskellen være?
18. december 2012 - 21:19
#7
Ahh, Janus, det kan du gøre bedre :-) Han skriver "0,23".
20. december 2012 - 23:35
#8
minimum nul komma treogtyve imellem... hmmm