генерация чисел и проверка на повтор 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, время: 02:45. |