jueves, 5 de enero de 2012

Java Realiza un programa que muestre por pantalla el siguiente cuadrado: 1 1 1 1 1 1 2 3 4 5 1 3 6 10 15 1 4 10 20 35 1 5 15 35 70 El programa podrá generar cuadrados de cualquier dimensión. Utiliza la recursividad.

Sin recursividad.
//archivo cCuadroRecursivo
public class cCuadradoRecursivo {
    private int n;
    int [][] tabla;

   
    public cCuadradoRecursivo(int lado) {
        n=lado;
        tabla=new int[n][n];
        System.out.println("n:"+n);
        for(int i=0;i<=n-1;i++) {
            for(int j=0;j<=n-1;j++){
                //tabla[i][j]=1;
                if ((i==0)||(j==0)) {
                    tabla[i][j]=1;
                } else {
                    tabla[i][j]=tabla[i][j-1]+tabla[i-1][j];
                }
            }
        }
    }
   
    public void mostrarCuadradoRecursivo(){
        for(int i=0;i<=n-1;i++) {
            for(int j=0;j<=n-1;j++){
                System.out.print(tabla[i][j]+" ");               
            }
            System.out.println();
        }
    }
   
   
}

//archivo mCuadroRecursivo
import java.io.*;
public class mCuadradoRecursivo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
       
        int n=0;
        try {
            BufferedReader is = new BufferedReader (new InputStreamReader(System.in));
            System.out.println("Introduce el lado del cuadrado:");
            String linea = is.readLine();
            n=Integer.parseInt(linea);
            cCuadradoRecursivo tablita= new cCuadradoRecursivo(n);
            tablita.mostrarCuadradoRecursivo();
        } catch (NumberFormatException ex) {
            System.err.println("No es un número válido");
        } catch (IOException e) {
            System.err.println("Error IO no esperado");
        }
       
       
    }

}

No hay comentarios:

Publicar un comentario