Algoritmos Recursivos - Ejercicios Resueltos Parte 3

Como utilizar recursividad para ingresar elementos en un vector unidimensional, bidimensional:

Unidimensional:

package recursividad;
import java.io.*;
public class llenarUnidimensional {
  public static void main(String[] args)throws IOException{
    BufferedReader e = new BufferedReader(new InputStreamReader(System.in));
    int[] arreglo = null;
    System.out.println("Ingrese la cantidad de elementos del array");
    arreglo = new int[Integer.parseInt(e.readLine())];
    arreglo = unidimensional(arreglo,0,e);
  }
  public static int[] unidimensional(int[] arreglo, int i, BufferedReader e)throws IOException{
    if(arreglo.length>i){
      System.out.println("Ingrese el elemento "+(i+1)+": ");
      arreglo[i] = Integer.parseInt(e.readLine());
      return unidimensional(arreglo, i+1,e);
    }else{
      return arreglo;
    }
  }
}

Bidimensional:

package recursividad;
import java.io.*;
public class llenarUnidimensional {
  public static void main(String[] args)throws IOException{
    BufferedReader e = new BufferedReader(new InputStreamReader(System.in));
    int[][] arreglo = null;
    int col = 0; int fil = 0;
    System.out.println("Ingrese la cantidad de elementos de la fila");
    fil = Integer.parseInt(e.readLine());
    System.out.println("Ingrese la cantidad de elementos de la columna");
    col = Integer.parseInt(e.readLine());
    arreglo = new int[fil][col];
    arreglo = bidimensional(arreglo, 0, 0, e);
  } 
  public static int[][] bidimensional(int [][] arreglo, int i, int j, BufferedReader e) throws IOException{
      if(arreglo.length != i){
         if(arreglo[0].length-1 != j){
                System.out.println("Ingrese el elemento en la posicion ["+(i+1)+"]["+(j+1)+"]");
                arreglo[i][j]=Integer.parseInt(e.readLine());
                return bidimensional(arreglo, i, j+1, e);
         }else{
                System.out.println("Ingrese el elemento en la posicion ["+(i+1)+"]["+(j+1)+"]");
                arreglo[i][j]=Integer.parseInt(e.readLine());
                return bidimensional(arreglo, i+1, 0, e);
         }
    }else{
      return arreglo;
    }
  }
}

No se olviden dejar sus comentarios y si desean mejorar el código sería un gran logro, bendiciones vuelvan pronto...

Comentarios

Entradas populares de este blog

Practica de Diagrama de Flujo Intermedio - Resueltos

Personaliza tus reportes PDF desde PHP con la librería FPDF

Práctica de Diagrama de Flujo Nivel Intermedio - Resueltos (Parte II)