Foros del Web » Programando para Internet » PHP »

Error en numero de coincidencias de numeros desde 2 matrizes

Estas en el tema de Error en numero de coincidencias de numeros desde 2 matrizes en el foro de PHP en Foros del Web. hola amigos de forosdelweb, me enviaron a realizar una aplicacion en PHP que consiste en ingresar 5 numeros mediante un formulario, luego mostrarlos en otra ...
  #1 (permalink)  
Antiguo 13/03/2012, 09:02
 
Fecha de Ingreso: septiembre-2010
Mensajes: 19
Antigüedad: 9 años, 3 meses
Puntos: 0
Error en numero de coincidencias de numeros desde 2 matrizes

hola amigos de forosdelweb, me enviaron a realizar una aplicacion en PHP que

consiste en ingresar 5 numeros mediante un formulario, luego mostrarlos en otra

pagina con 5 numeros aleatorios y el numero de coincidencias entre ellos, espero se entienda...

formulario.php

Con esto creo 5 campos de texto
Código PHP:
<body>


<table align="center">

<tr>
        <td><h1>Bingo</h1></td>
        
</tr>



<tr>
        <td width="500">
  <form action="result.php" method="post">
<fieldset> <legend> introduce en los campos valores del 1 al 20 </legend>

<?php  for($contador=0;$contador<5;$contador++):     ?>
<input type="text" maxlength="2" name="Numero_<?php echo $contador;?>" /> <br />


<? endfor ?>
<input type="submit" name="boton"  value="Enviar" />
</fieldset>
</form>
        </td>
    
</tr> </table> </body>
En este archivo creo algunas funciones

function.php

Código PHP:

/*me aseguro que el texto ingresado sea el correcto*/


function Validar_formulario()
    {
        
$error=false;

    for(
$contador=0;$contador<5;$contador++)        
        {
            
        if(!isset(
$_POST['Numero_'.$contador]) || empty($_POST['Numero_'.$contador])
            ||     
$_POST['Numero_'.$contador] < || $_POST['Numero_'.$contador] > 20)
            
            {
            
            
$error=true;    
        
            
            }
            
            
        }
        
        return !
$error;
            
        
    }


/*obtengo los valores ingresados, 
se almecenan los valores en una matriz 
y la funcion devuelve el resultado*/


function Obtener_valores()

    {
        
$Valores=array();
            for(
$contador=0;$contador<5;$contador++)
            
                {
                    
$Valores[$contador]= $_POST['Numero_'.$contador];
                }
        return(
$Valores);
    }
        
    

*/
Creo los numeros aleatorios y se
 guardan en una matriz la funcion devuelve
 el resultado
*/

function 
Numeros_aleatorios()


    {
        
        
$Numeros=array();
        for(
$cont=0;$cont<5;$cont++)
            {
                
$Numeros[$cont]= rand(0,20);
                
            }
        return (
$Numeros);
    }
    

/*sumo las matrices 
 y le agrego como parametro a la funcion 2 variables*/


function Coincidencias($Matriz1,$Matriz2)



    {
        
$Contar=0;
            for(
$i=0;$i<5;$i++)
            {
                if(
in_array($Matriz1[$i],$Matriz2));
                    {
                    
$Contar++;
                    }
            }
            return(
$Contar);
    } 

Aqui imprimo el resultado de los numeros ingresados los numeros a aleatorios y el numero de coincidencias


result.php


Código PHP:
 
<?   /* esto queda claro */
include_once('function.php');

if(!isset(
$_POST['boton']) || !Validar_formulario())

{
    
header('location:bingo.php');
        exit();
    
}

?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<?php

/* guardo los resultados de la funcion y lo guardo en estas variables */

$Salida=Obtener_valores();
$Aleatorio=Numeros_aleatorios();
$Coincidencias=Coincidencias($Salida,$Aleatorio);

?>


<table border="1" align="center">
<tr> <td colspan="6"> Numeros Elegidos </td>
</tr>

<tr> <? 

for($cont=0;$cont<5;$cont++) { ?>
<td> <? echo $Salida[$cont]; ?> </td>
    
    <? ?>


</tr>


</br>

<tr><td colspan="6">Numeros Aleatorios</td></tr>

<tr> <? for($cont=0;$cont<5;$cont++) { ?>
        <td> <? echo $Aleatorio[$cont]; ?> </td>

    <? ?>

</tr>

<tr> <td colspan="6">Numero de coincidencias  

<? echo $Coincidencias?>  </td> </tr>


</table>
   
</body></html>



</body>
</html>

Todo sale bien menos el numero de coincidencias, osea no realiza la suma, siempre sale el numero 5, si alguien puede detectar el error por favor aviseme gracias
  #2 (permalink)  
Antiguo 13/03/2012, 13:58
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 12 años, 4 meses
Puntos: 194
Respuesta: Error en numero de coincidencias de numeros desde 2 matrizes

en esta linea estas cerrando el if con un ;

Código PHP:
Ver original
  1. if(in_array($Matriz1[$i],$Matriz2));

igualmente la función in_array creo que no la estas utilizando correctamente, si se ingresaron 5 números iguales, y luego en el array aleatorio aparece aunque sea una vez ese numero, también te contara 5 coincidencias. Aqui debes diferenciar si las coincidencias son con o sin orden de aparición...
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives

Última edición por h2swider; 13/03/2012 a las 14:04
  #3 (permalink)  
Antiguo 13/03/2012, 14:12
 
Fecha de Ingreso: septiembre-2010
Mensajes: 19
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: Error en numero de coincidencias de numeros desde 2 matrizes

Mi hermano no hayo como agradecerselo.. muchas gracias ahi tienes el karma casi me volvia loco hehehehe graciasss

Etiquetas: coincidencias, formulario, html, numero, numeros, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:49.