Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Случайное число в цикле (https://javascript.ru/forum/events/8594-sluchajjnoe-chislo-v-cikle.html)

sanhai 03.04.2010 22:41

Случайное число в цикле
 
Подскажите как сделать так чтоб при каждом прохождении цикла генерировалось каждый раз новое случайное число

// JavaScript Document
function aaa(){
for (x=100; x>0;){
var now=new Date()
var num=(now.getSeconds())%10
var num=num+1

var i=num

var x=x-i
document.write(x+"<br>")}
}

Riim 04.04.2010 06:20

Math.random

exec 06.04.2010 17:00

Цитата:

Сообщение от sanhai
Подскажите как сделать так чтоб при каждом прохождении цикла генерировалось каждый раз новое случайное число

if (x == 100) rand = Math.random();

sanhai 07.04.2010 00:03

А можете пояснить что вы тут написали?
«««««« if (x = = 100) rand = Math.random(); »»»»»»

Aetae 07.04.2010 00:12

Цитата:

Сообщение от sanhai (Сообщение 50360)
А можете пояснить что вы тут написали?
«««««« if (x = = 100) rand = Math.random(); »»»»»»

Код, очевидно же!)

А что он значит - написано в справочнике, а коли непонятно, так начните уже изучать javascript.

exec 07.04.2010 18:45

sanhai, в этом коде переменная цикла сравнивается с максимальным её значением, если true — значит, это конец цикла.

sanhai 07.04.2010 21:21

Спасибо большое за ответ, особенно за справочник.
Но если несложно поясните что же всё таки означает написанная вами строка и как её нужно вставить в мой скрипт (если конечно можно вставить).
Я и занимаюсь изучением яваскриптов, но если я не буду стараться что-нибудь делать то как я смогу научится?
Книжку я и так читаю – но теория без практики без полезные знания.

exec 09.04.2010 10:20

for (var i = 0; i < 100; i++) {
/* действия цикла */
if (i == 99) {/* что делать при окончании цикла */}
}

Kolyaj 09.04.2010 12:37

exec,
for (var i = 0; i < 100; i++) {
/* действия цикла */
}
/* что делать при окончании цикла */

Aetae 09.04.2010 19:34

Цитата:

Сообщение от Kolyaj (Сообщение 50754)
exec,
for (var i = 0; i < 100; i++) {
/* действия цикла */
}
/* что делать при окончании цикла */

+1 кстати) Я тоже недоумеваю.)

Gvozd 09.04.2010 19:40

одному мне кажется что слова ТС-а можно однозначно интепретировать только как необходимость на каждой итерации("прохождении") цикла генерировать случайное число, а не после каждого завершения цикла

Aetae 09.04.2010 19:55

Цитата:

Сообщение от Gvozd (Сообщение 50826)
одному мне кажется что слова ТС-а можно однозначно интепретировать только как необходимость на каждой итерации("прохождении") цикла генерировать случайное число, а не после каждого завершения цикла

В том то и дело что не однозначно.) Примерно как 60% за то, что при каждой итерации и 40% за то, что при каждом выполнении функции.))

sanhai 09.04.2010 20:15

Блин народ яж показываю тот скрипт до которого додумался сам:
var x=100
function aaa(){
for (i=0; i<x;){
if (x>0){var now=new Date()
var num=(now.getSeconds())%10
var num=num+1}
x=x-num
document.write(x+"<br>")}
}

Дальше проблема? Мне нужно что бы случайное число каждый отнятый раз было разным, то есть сей час если сгенерированно случайное число 5 то оно и будет отниматься от 100 (100-5; 95-5; 90-5; и.т.д.) а мне нужно чтобы перед вычитанием генерировалось каждый раз новое случайное число. НЕДЕЛЮ БЮСЬ

Aetae 09.04.2010 21:05

Вам уже всё, что нужно дали, и не раз кстати. Надо лишь логически обработать.
Могу ещё раз повторить: генерация случайного числа Math.random(), да, каждый раз разного и в диапазоне от 0 до 1.(на всякий случай - это например 0.8446142977311287)

Если всё ещё что-то идёт не так - почитайте что такое цикл, что такое функция, что такое javascript наконец.

sanhai 10.04.2010 19:01

Блин даже не знаю что ответить. Как раз с логичностью и проблема, ну если вас не затруднит ну впихните эту функцию в мой скрипт. Народ ну умничать задалбали, не могу я дадуматся, Вот помощи и проошу

exec 11.04.2010 06:12

Цитата:

Сообщение от sanhai (Сообщение 50834)
Дальше проблема? Мне нужно что бы случайное число каждый отнятый раз было разным, то есть сей час если сгенерированно случайное число 5 то оно и будет отниматься от 100 (100-5; 95-5; 90-5; и.т.д.) а мне нужно чтобы перед вычитанием генерировалось каждый раз новое случайное число. НЕДЕЛЮ БЮСЬ

100 - Math.round(Math.random() * 5)


Часовой пояс GMT +3, время: 16:03.