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

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

Practica de Diagrama de Flujo Intermedio - Resueltos

Ejercicios Básicos para aprender a programar en Android Studio [Java y Kotlin]