Autor Zpráva
KRO
Profil *
Zdravím, co mám špatně na tomto cyklu prosím? Nechce se tomu fungovat, asi dělám chybu v syntaxi nebo něco.

     d = 0
     while (d == 1) {
          a = Math.floor((Math.random() * 21) + 0); 
          b = Math.floor((Math.random() * 21) + 0); 
          c = Math.floor((Math.random() * 21) + 0);
          if (a != b).or(a != c).or(b != c).or(c != c){
               d = 1
          } 
     }



... chci prostě 3 náhodný čísla, ale každé musí být jiné.
Alphard
Profil
V tom scriptu jsou snad všechny logické výrazy napsané obráceně, než by měly být :-).
Spíš takhle
var found = false;
while (!found) {
  a = Math.floor(21*Math.random());
  b = Math.floor(21*Math.random());
  c = Math.floor(21*Math.random());
  if (a != b && b != c && a != c) {
    found = true;
  }
}

Mimochodem, máte asi 16% šanci, že se vygeneruje nějaká shoda a while bude muset iterovat.

Samozřejmě to jde napsat i obecně pomocí pole stackoverflow.com/a/2380113.
KRO
Profil *
Alphard Opravdu děkuji moc. :)
Radek9
Profil
KRO:
while v jQuery
Ještě si trochu rýpnu, to není jQuery, ale JavaScript. JavaScript je programovací jazyk, ve kterém se píší programy/skripty v prohlížeči (ale klidně i jinde). jQuery je jen a pouze knihovna napsaná v JavaScriptu, která v této ukázce navíc vůbec použitá není.

Moderátor Alphard: Pozn. tohle je reakce na název vlákna, které jsem právě přejmenoval.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: