Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/05/2009, 11:33
Avatar de Jask
Jask
 
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años, 1 mes
Puntos: 15
Números aleatorios.

Muy buenas a todos. Es la primera vez que posteo pero por lo que veo está todo muy interesante por acá.. espero pasarmelo bien y aprender, y más que nada si puedo echar un cable mejor que mejor :)

A lo que iba.
Estoy aprendiendo PHP, con un manual muy bueno que vienen ejemplos y ejercicios, la cosa es que me quedé medio estancado en este ejercicio:

Cita:
En este ejercicio –ejercicio24.php– trataremos de crear una tabla como la anterior, esta vez de una sola fila y seis columnas, conteniendo cada celda un número aleatorio comprendido entre 1 y 49 en la que habremos de evitar la posibilidad de que un número se repita dos veces (podría ser una forma de rellenar la primitiva).

Para ello te sugerimos que guardes en un array los valores de los números aleatorios que se van generando y que, antes de guardar cada uno de ellos, se ejecute un bucle que compruebe si entre los registrados ya existe un valor igual al obtenido. Si no existiera ese valor se guardaría el dato, en caso contrario se repetiría la extracción.
Yo tengo algo asi, la cosa es que hice la tabla primer, y lo demás lo hice aparte para que cuando salga bien implementarlo en la tabla que sería lo más fácil.

Algo así tengo:

Código PHP:
<?php

mt_srand
((double)microtime()*1000000);
mt_rand(1,6);


echo 
"<table align='center' border='2px' width='20%'>";

    for(
$col=0$col<6$col++){
    
        echo 
"<tr><td align='center'>";
        echo 
"por hacer";
        echo 
"</td></tr>";
        
    }

    while(
$valor<6){
    
        
$valor++;
        
$miarray[$valor]=mt_rand(1,6);
        echo 
"Posición $valor : "
        echo 
$miarray[$valor];
        echo 
"<br>";
        
    }

    echo 
"<p>";
        
    while(
$v_dos<6){
    
        
$v_dos++;
        
$array_dos[$v_dos]=mt_rand(1,6);
        echo 
"Posición $v_dos : "
        echo 
$array_dos[$v_dos];
        echo 
"<br>";
        
    }
    
    
?>
La cosa es que me guarda el número aleatorio en el array, el problema tengo que no se como comprobar que no se repite en todo el array, y si se repite no se que como podría hacer para poner que vuelva a elegir otro.. no quiero ni mucho menos que me lo den echo simplemente ver por donde me puedo orientar y todo eso que ando re perdido :)

un saludo y muchísimas gracias desde ya :D