Avatar billede juks Novice
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
Avatar billede jakobdo Ekspert
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?
Avatar billede juks Novice
17. december 2012 - 13:44 #2
hmm hvordan ?
Avatar billede Syska Mester
17. december 2012 - 14:07 #3
Hvad skal den gøre hvis der ikke er nok imellem? Skip? Add? Exception?
Avatar billede juks Novice
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
Avatar billede jakobdo Ekspert
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 />';

?>
Avatar billede janus_007 Nybegynder
18. december 2012 - 20:08 #6
Hvor stor må forskellen være?
Avatar billede Syska Mester
18. december 2012 - 21:19 #7
Ahh, Janus, det kan du gøre bedre :-)

Han skriver "0,23".
Avatar billede janus_007 Nybegynder
20. december 2012 - 23:35 #8
minimum nul komma treogtyve imellem... hmmm
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester