Foro de elhacker.net

Programación => Java => Mensaje iniciado por: arbeluc en 23 Mayo 2003, 09:46 am



Título: ayuda para java
Publicado por: arbeluc en 23 Mayo 2003, 09:46 am
hola, necesito k laguien me ayude con un programa de java. Se trata de lo siguiente:
-Necesito saber como es el codigo en una matriz 10x10. En la que cuando coincidan 4 numeros iguales ya sea en horizontal,vertical o en diagonal me lo diga mediante un mensaje.(Es para el conecta 4) Esta parte es lounico que me falta.
- Imagino que sera facil, pero no se me ocurre la manera de ponerlo.Si me podeis ayudar.


Título: Re:ayuda para java
Publicado por: kåhjî£ en 23 Mayo 2003, 10:22 am
perate ahi hay algo que no entiendo, basicamente es saber si un numero se repite cuatro veces dentro de la matriz ??? o necesariamente deben ser repetidos asi:

2 2 2 2

ó

2
2
2
2

ó

2
  2
    2
      2

como es explicame bien ??


Título: Re:ayuda para java
Publicado por: arbeluc en 24 Mayo 2003, 01:01 am
Si es exactamente de la forma en que lo has puesto en el dibujo.


Título: Re:ayuda para java
Publicado por: Bres en 24 Mayo 2003, 02:42 am
Toma, aquí tienes para el vertical y el horizontal. El diagonal tiene más tela y ahora mismo no se me ocurre como podria ser. Ya lo miraré otro día que me esté aburriendo  :P.

Código:
int[][] matriz = new int[10][10];
int i,j,nRepetidos=0;

//comprueba filas
for(i=0;i<10;i++){
   for(j=0;j<9;j++){
      int actual = matriz[i][j];
      int siguiente = matriz[i][j+1];
      if(actual==siguiente){
         nRepetidos++;
      }else{
         nRepetidos=0;
      }
      if(nRepetidos==4){
         System.out.println("Cuatro en raya (horizontal)");
         break;
      }
      j++;
   }
   if(nRepetidos==4){
      break;
   }
   i++;
}
//Comprueba columnas
   for(i=0;i<10;i++){
      for(j=0;j<9;j++){
         int actual = matriz[j][i];
         int siguiente = matriz[j+1][i];
         if(actual==siguiente){
            nRepetidos++;
         }else{
            nRepetidos=0;
         }
         if(nRepetidos==4){
            System.out.println("Cuatro en raya (vertical)");
            break;
         }
         j++;
      }
      if(nRepetidos==4){
         break;
      }
      i++;
   }


Título: Re:ayuda para java
Publicado por: arbeluc en 24 Mayo 2003, 03:09 am
muxas gracias por la ayuda


Título: Re:ayuda para java
Publicado por: kåhjî£ en 24 Mayo 2003, 04:00 am
basandome en el codigo de Bres (no me va muy bien con java) codifique el algoritmo que hice y quedaria asi:

Código:
for(i=0;i<10;i++){
   for(j=0;j<9;j++){
      if(i==j){
 int actual = matriz[i][j];
 if(ianterior==actual){
   nRepetidos++;
            }else{
         int anterior=actual;
            }
       if(nRepetidos==4){
         System.out.println("Cuatro en raya (diagonal)");
         break;
      }

}
}

bueno solo compilalo (no tengo java instalado en esta maquina asi que no pude compilar) pero si mi prueba de escritorio no me falla (y espero que no, bueno y si falla me avisan toy para aprender), ese seria el codigo que te hace falta.  ;)


Título: Re:ayuda para java
Publicado por: MAJOR_TOM en 3 Junio 2003, 21:56 pm
Todavia no sabes programar despues del año con Felix.hay un sitio donde te solucionan todo-->Google.JAJAJAJAJAJAJ ;DBusca ahi ;D ;D ;D :P


Título: Alguien me puede ayudar?
Publicado por: lokoLOKO en 16 Diciembre 2003, 13:28 pm
alguien tiene por casualidad el codigo de un verificador de rut en java, o en applet especificamente?? lo necesito pal proyecto de fin de año... de antemano gracias compañeros!!!