генерация чисел и проверка на повтор Javascript
я уже сойду с ума, не пойму пчм при проверки в цикле масива на повтор в масиве одни 0, да я вначале заполняю его 0.
вообщем выкладываю свой код, вдруг у кого мысли будут по этому.... это яваскрипт. пхп не катит! сам знаю как на нём сделать. помогите пожалуйста myar = new Array(); //создаем массив i2=0; z=0; function rndz(n) { n2 = n; //alert(n2); if (i2 == n2) { //alert("end1"); //alert(z); rndz(0); } else { for (i=1; i<=n2; i=i+1) { rnd1 = parseInt((Math.random() * 10)); // rnd2 = parseInt((Math.random() * 10)); // "генерируем число" rnd = rnd1 + rnd2; //myar[i] = rnd; //alert(rnd); for (i=1; i<=n2; i=i+1) { //document.write("p "+myar[i]+" x="+i+"<br>"); if (myar[i] == rnd) { //alert(myar[i]+"="+rnd+" x="+i); rnd1 = parseInt((Math.random() * 10)); // rnd2 = parseInt((Math.random() * 10)); // "генерируем число" rnd = rnd1 + rnd2; // //alert(myar[i]+"="+rnd+" x="+i); z++; //document.write("p "+myar[i]+" x="+i+"<br>"); for (i=1; i<=n2; i=i+1) { if (myar[i] == rnd) { //alert(myar[i]+"="+rnd+" x="+i); rnd1 = parseInt((Math.random() * 10)); // rnd2 = parseInt((Math.random() * 10)); // "генерируем число" rnd = rnd1 + rnd2; // //alert(myar[i]+"="+rnd+" x="+i); z++; } } } } myar[i] = rnd; document.write(" "+myar[i]+" "); i2=i2+1; rndz(n2); } } } rndz(55); |
покажи, как это сделать на php.
|
вот ява код если кому нужно сам допер как сделать, бадун великая весчь :)
tenshi, как будет время напишу. var myar = new Array(); function frnd_num() { rnd1 = parseInt((Math.random() * 10)); // rnd2 = parseInt((Math.random() * 10)); // "генерируем число" rnd = rnd1 + rnd2; // return rnd; } function rndnumcheck(rndnum,num) { countercheck = 0; while(countercheck < num) { if (myar[countercheck]== rndnum) {rndnum = frnd_num(); rndnum = rndnumcheck(rndnum); continue;} countercheck++; } return rndnum; } function fill(num) { counter = 0; while(counter < num) { rndnum = frnd_num(); rndnum = rndnumcheck(rndnum,num); myar[counter] = rndnum; document.write(" "+myar[counter]+" "); counter++; } return; } fill(10); |
jesuspunk, а вас не смущает, что у трех вложенных циклов счетчик один? (это если отбросить мысль о том, что такой код надо выбрасывать в топку сразу после создания, и уж тем более никому не показывать)
UPD: Не успел, это было к первому сообщению. |
Цитата:
Пару вопросов: 1. В чем магический смысл сложения двух случайных чисел? 2. Почему вы игнорируете ключевое слово var внутри функций. (Предполагая ответ: это не PHP все-таки). |
Цитата:
Цитата:
1-ое: получение значений от 0 до 20 :) мне в этом диапазоне нужны цифры, получилось, замарачиватся как по другому сделать не охото... я видел там чето про брать время процент от него и колдовство какое то чтоб получить в определеном диапозоне. 2-ое: это не пхп все таки. и без var работает :Р |
Цитата:
Math.round(Math.random() * 20) Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 03:14. |