NUMEROS RANDOM AYUDAAAAAAAAAAAAA

de2
06 de Septiembre del 2008
hola compañeros.. soy nuevo por aqui y nuevo con esto de la programación, la verdad no es mi fuerte. Tengo un problema gigante y se que la solucion es simple. El caso es el siguiente:

Tengo un generador de numeros aleatorios y funciona a la perfeccion, no repite ninguno y hasta los bota organizaditos, la cuestion es que hasta ahora funciona poniendole el numero en el que deseo hacer el random y luego debo poner la cantidad de numeros aleatorios que deseo. Que necesito.. quiero que uno no deba ponerle el primer parametro, en otras palabras que soo le tenga que decir que me genere 10 ó x cantidad de registros de un numero ya establecido. No se si me explique bien.. aqui les mando el codigo para que lo vean y tal vez me puedan ayudar... por favor es de vida o muerte, mi cabeza esta en riesgo por eso.


<html>

<head>
<style TYPE="text/css">
<!--
A:link { color: #000000; text-decoration: none}

A:visited{ color: #000000; text-decoration: none}

A:active { }

A:hover {color: red; text-decoration: none}
}
-->
</style>
<style TYPE="text/css">
<!--
A:link.otro { color: #FFFFFF; text-decoration: none}

A:visited.otro { color: #FFFFFF; text-decoration: none}

A:active.otro { }

A:hover.otro {color: #000000; text-decoration: none}
}
body {
background-color: #FFFF00;
background-image: url();
}
.Estilo1 {color: #FFFF00}
-->
</style>
<title>Foto Japon</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>

<body>
<script language="JavaScript">

<!-- hide script from old browsers

//
// comprueba que es un entero
//
function CheckInt(n)
{
var resultado = true;
if (n =="") {
resultado = false
}
for (var i=0; i<n.length; i++) {
ch = n.substring(i,i+1) ;
if ( (ch<"0") || (ch>"9") ) {
resultado = false
}
}

if (resultado == false) {
alert("Error! debe ser un numero entero");
}

return resultado ;
}
//
// Hace los calculos
//
function calculos(form)
{
form.b.value = '';
maximo=9999999;

n=parseFloat(form.n.value);
a=parseFloat(form.a.value);
var p = new Array (n) ;
var b = new Array (a) ;
p[0]=0 ;

for (var i=1; i<=a; i++) {
for (var k=1; k<=(n); k++) {
if (p[k] !=0) {p[k]=1/(n-i+1);}
}
u=Math.random() ;
sum=p[0] ;
for (var j=1; j<=n; j++) {
if (u>sum && u<=sum+p[j]) {
b[i] = j;
p[j] = 0 ;
break ;
}
else{
sum=sum+p[j] ;
}
}
}

//Ordenamos ascendentemente los numeros
for (var i=1; i<=a; i++) {
menor=maximo;
for (var j=1; j<=a; j++) {
if (b[j] < menor) {
indice = j;
menor = b[j];
}
}
form.b.value += b[indice] + 'n';
b[indice] = maximo;
}
}
// end hidding script -->

</script>
<font face="arial" size="2">

<p align="center">&nbsp;</p>

</font>

<h2 align="center">Selector de Ganadores </h2>
<form name="eq">
<div align="center"><center>
<p>N&uacute;mero de concursantes:&nbsp;
<input type="text" size="10" name="n" value="0"
onchange="if (!CheckInt(this.value))
{this.focus();this.select();}">
<span class="Estilo1"> ............. </span>Cantidad de ganadores:
<input
type="text" size="10" name="a" value="0"
onchange="if (!CheckInt(this.value))
{this.focus();this.select();}"></p>
<p align="center">
<input type="button" name="calcButton"
value="Calcular" onClick="calculos(document.eq)">
</p>
<p align="center">&nbsp;
<textarea
name="b" rows="50" cols="25"></textarea>
</p>
<p align="center">
<input name="reset" type="reset" value="Borrar">
</p>
</center></div>

</form>

<hr>

<p align="center"><a href="../index.html"></a></p>
</body>

</html>