Código Javascript
:
Ver original<script language="javascript">
function buscbin()
{
var primero, ultimo,central;
var encontrado;
primero=0;
ultimo = n;
encontrado = 0;
while(primero <= ultimo && encontrado==0)
{
central = (primero + ultimo) / 2;
if (t=vector[central])
{
encontrado = 1;
}
else
{
primero = central + 1;
ultimo = central - 1;
}
}
if (encontrado=1)
{
pos = central;
}
else
{
pos = 0;
}
}
var vector;
var i,j,temp,n;
var pos;
n = prompt('De cuantas posiciones quiere el vector?','');
vector = new Array(n);
document.write('Este es el vector:<br>');
for(i=0;i<=n;i++) //Genera aleatoriamente un vector de 'n' elementos.
{
vector[i]=Math.random() * 100;
vector[i]=parseInt(vector[i].toFixed());
}
for (i=1;i<=vector.length;i++)
{
for(j=0;j<=vector.length-1;j++)
{
if (vector[j-1] > vector[j])
{
temp = vector[j-1];
vector[j-1]= vector[j];
vector[j]= temp;
}
}
}
for(i=0;i<=n;i++)
{
document.write(vector[i]+'<br>');
}
var t = prompt('Que numero es el que desea buscar?:','');
t = parseInt(t);
buscbin();
pos = parseInt(pos+1);
document.write('<font size="5">El numero '+t+' esta en la posicion '+pos+'</font>');
</script>
Cuando se supone que me imprime la posicion, siempre agarra un numero al azar de los del vector y me imprime la posicion en la que esta, no busca el que yo le digo...
y siempre me crea un vector de n + 1 posiciones