Ayuda con matrices

Iniciado por ArhennJosey, 6 Mayo 2010, 07:07 AM

0 Miembros y 1 Visitante están viendo este tema.

ArhennJosey

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(" ");   
      }
      

}   
   
}

sapito169

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

1mpuls0

#2
 :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 (java) [Seleccionar]

/**
* @author Darhius929
*/

public class Diagonal {

private final int arreglo[][]= {{1,2,3}, {4,5,6}, {7,8,9}};

public static void main(String args[]){
new Diagonal();
}

public Diagonal() {
imprimirDatos(arreglo);
imprimirDiagonal(arreglo);
}
   
private void imprimirDatos(int arreglo[][]){
System.out.println("Arreglo");
for(int fil=0; fil<arreglo.length; fil++) {    
                 for(int col=0; col<arreglo[0].length; col++)
                   System.out.print("[" + arreglo[fil][col] +"]");
                 System.out.println("");
              }
}
   
private void imprimirDiagonal(int arreglo[][]){
System.out.println("\nDiagonal");
for(int indice=0; indice<arreglo.length; indice++) {    
 System.out.print("[" + arreglo[indice][indice] +"]");
              }
       }
}



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

Un saludo.
abc