Foro de elhacker.net

Programación => Java => Mensaje iniciado por: ArhennJosey en 6 Mayo 2010, 07:07 am



Título: Ayuda con matrices
Publicado por: ArhennJosey en 6 Mayo 2010, 07:07 am
Buenas noches, necesito un programa que me permita ingresar 9 numeros en un cuadro(como un sudoku) y que me imprima los tres numeros de la diagonal \  el primer cuadro el 5 y el 9, esto eslo que he echo hasta ahora.
Gracias a quien me pueda orientar.

import java.io.*;
public class programa3
   {

    public static void main (String args[])throws Exception
    {
    BufferedReader teclado=new BufferedReader(new InputStreamReader(System.in));    
    String dato;
    int columna;
    int fila;
    int b[][]=new int[3][3];
   int i,valor , valor2,dato1,dato2;
    columna=0;
    dato1=0;
 
     for (columna=0;columna<=2;columna++)
     {
        System.out.println("digite dato de fila :");
      
      dato=teclado.readLine();
      dato1=Integer.parseInt(dato);
      b[0][columna]= dato1;
         
     }
     
       fila=0;
       dato2=0;
     for ( fila=0;fila<=2;fila++)
     {
        System.out.println("digite dato de columna:");
      
      dato=teclado.readLine();
      dato1=Integer.parseInt(dato);
      b[fila][0]= dato1;
      
   
   }
         for(fila=0;fila<=2;fila++)
      {
         for(columna=0;columna<=1;columna++)
         
         {
            for(columna=0;columna<=1;columna++)
            {
            System.out.print(b[fila][columna]);
            dato=teclado.readLine();
              b[fila][0]= dato1;
            
            }
         }
            System.out.println(" ");   
      }
      

}   
   
}


Título: Re: Ayuda con matrices
Publicado por: sapito169 en 6 Mayo 2010, 19:58 pm
la verdad que no entiendo por que se complican tanto para un programa tan fácil

solo necesitas un solo for que te recorra del 0 al 8 para leer y dentro de ese mismo bucle si es 0 ,4 o 8 lo concatenas y lo muestras fuera del bucle

-un solo bucle para leer y para guardar los de la diagonal

para que uses matrices guarda esos valores dentro de una y des pues la muestras

no es por molestar pero no lo veo ni mucha coherencia ni legibilidad al código te recomiendo que hagas los programas lo mas simples cortos y hovios posibles


Título: Re: Ayuda con matrices
Publicado por: 1mpuls0 en 7 Mayo 2010, 22:29 pm
 :xDOMG! Me parecio ver 3 for anidados

pues ya te dijeron como se soluciona, pero justamente hoy estaba ordenando mis documentos y me encontré con este código que hice cuando empezaba a programar, espero que te sirva.

Código
  1. /**
  2.  * @author Darhius929
  3.  */
  4.  
  5. public class Diagonal {
  6.  
  7. private final int arreglo[][]= {{1,2,3}, {4,5,6}, {7,8,9}};
  8.  
  9. public static void main(String args[]){
  10. new Diagonal();
  11. }
  12.  
  13. public Diagonal() {
  14. imprimirDatos(arreglo);
  15. imprimirDiagonal(arreglo);
  16. }
  17.  
  18. private void imprimirDatos(int arreglo[][]){
  19. System.out.println("Arreglo");
  20. for(int fil=0; fil<arreglo.length; fil++) {    
  21.                  for(int col=0; col<arreglo[0].length; col++)
  22.                    System.out.print("[" + arreglo[fil][col] +"]");
  23.                  System.out.println("");
  24.               }
  25. }
  26.  
  27. private void imprimirDiagonal(int arreglo[][]){
  28. System.out.println("\nDiagonal");
  29. for(int indice=0; indice<arreglo.length; indice++) {    
  30.  System.out.print("[" + arreglo[indice][indice] +"]");
  31.               }
  32.        }
  33. }
  34.  
  35.  

Como ves un solo for es  mas que suficiente para mostrar los datos de la diagonal.

Un saludo.