Ejercicios resueltos

Ejercicios resueltos utilizando arreglos unidimensionales

(Ver Arreglos unidimensionales)

1) Hacer un programa para ingresar N elementos reales en un arreglo y reportar el mayor, el menor y el promedio.

          import java.util.*;

          public class Ejercicio01 {

                   static Scanner entrada = new Scanner(System.in);

                   public static void ingresarArreglo(double Arreglo[], int n){
                              for(int i=0;i<n;i++){
                                     System.out.print(«Arreglo[«+i+»]: «);
                                     Arreglo[i] = entrada.nextDouble();
                              }
                   }
                   public static void reportarArreglo(double Arreglo[], int n){
                              for(int i=0;i<n;i++)
                                     System.out.println(Arreglo[i]);
                   }
                   public static double calcularMayor(double x[], int n){
                              double mayor; 
                              mayor=x[0];
                              for(int i=0;i<n;i++){ 
                                     if(x[i]>mayor)
                                            mayor = x[i];
                              }
                              return mayor;
                   }
                   public static double calcularMenor(double x[], int n){
                              double menor;
                              menor=x[0];
                              for(int i=0;i<n;i++){ 
                                     if(x[i]<menor)
                                            menor = x[i];
                              }
                              return menor;
                   }
                   public static double calcularPromedio(double x[], int n){
                              double suma=0;
                              for(int i=0;i<n;i++)
                                     suma = suma+x[i];
                              return suma/n;
                   }
                   public static void main(String[] args) {
                              double x[];
                              System.out.print(«Cantidad de elementos: «);
                              int n = entrada.nextInt();
                              x = new double[n];
                              ingresarArreglo(x,n);
                              System.out.println(«Arreglo ingresado»);
                              reportarArreglo(x,n);
                              System.out.println(«El arreglo mayor es: » + calcularMayor(x,n));
                              System.out.println(«El arreglo menor es: » + calcularMenor(x,n));
                              System.out.println(«El promedio de los arreglos es: » + calcularPromedio(x,n));
                   }
          }

2) Hacer un programa para ingresar N elementos reales en un arreglo y reportar el arreglo invertido.

          import java.util.*;

          public class Ejercicio02 {

                   static Scanner entrada = new Scanner(System.in);

                   public static void ingresarArreglo(double Arreglo[], int n){
                              for(int i=0;i<n;i++){
                                     System.out.print(«Arreglo[«+i+»]: «);
                                     Arreglo[i] = entrada.nextDouble();
                              }
                   }
                   public static void reportarArreglo(double Arreglo[], int n){
                              for(int i=0;i<n;i++)
                                     System.out.println(Arreglo[i]);
                              }
                   public static void invertirArreglo(double x[], int n){
                              int i,j;
                              double auxiliar;
                              for(i=0,j=n-1;i<n/2;i++,j––){
                                     auxiliar=x[i];
                                     x[i] = x[j];
                                     x[j] = auxiliar;
                              }
                   }
                   public static void main(String[] args) {
                              double x[];
                              System.out.print(«Cantidad de elementos: «);
                              int n = entrada.nextInt();
                              x = new double[n];
                              ingresarArreglo(x,n);
                              System.out.println(«Arreglo ingresado»);
                              reportarArreglo(x,n);
                              invertirArreglo(x,n);
                              System.out.println(«Arreglo invertido»);
                              reportarArreglo(x,n);
                   }
          }

3) Hacer un programa para ingresar dos arreglos de N elementos reales cada uno y reportar su producto escalar.

          import java.util.*;

          public class Ejercicio03 {

                   static Scanner entrada = new Scanner(System.in);

                   public static void ingresarArreglo(double Arreglo[], int n){
                              for(int i=0;i<n;i++){
                                     System.out.print(«Arreglo[«+i+»]: «);
                                     Arreglo[i] = entrada.nextDouble();
                              }
                   }
                   public static double calcularProductoEscalar(double x[], double y[], int n){
                              double suma=0;
                              for(int i=0;i<n;i++)
                                     suma = suma+x[i]*y[i];
                              return suma;
                   }
                   public static void main(String[] args) {
                              double x[], y[];
                              System.out.print(«Cantidad de elementos: «);
                              int n = entrada.nextInt();
                              x = new double[n];
                              y = new double[n];
                              System.out.println(«Primer arreglo»);
                              ingresarArreglo(x,n);
                              System.out.println(«Segundo arreglo»);
                              ingresarArreglo(y,n);
                              System.out.println(«El producto escalar es: » + calcularProductoEscalar(x,y,n));
                   }
          }

4) Hacer un programa para ingresar N elementos en un arreglo y reportarlo en pantalla. Además ingresar un número y verificar si el número se encuentra en el arreglo, si se encuentra eliminarlo si no se encuentra reportar «el elemento no se encuentra en el arreglo».

          import java.util.*;

          public class Ejercicio04 {

                   static Scanner entrada = new Scanner(System.in);

                   public static void ingresarArreglo(double Arreglo[], int n){
                              for(int i=0;i<n;i++){
                                     System.out.print(«Arreglo[«+i+»]: «);
                                     Arreglo[i] = entrada.nextDouble();
                              }
                   }
                   public static void reportarArreglo(double Arreglo[], int n){
                              for(int i=0;i<n;i++)
                                     System.out.println(Arreglo[i]);
                              }
                   public static int buscarElemento(double Arreglo[], int n, double elemento){
                              for(int i=0;i<n;i++)
                                      if(Arreglo[i] == elemento)
                                                return i;
                              return -1;
                   }
                   public static int eliminarElemento(double Arreglo[], int n, int posicion){
                               for(int i=posicion;i<n-1;i++)
                                      Arreglo[i] = Arreglo[i+1];
                               n = n-1;
                               return n;
                   }
                   public static void main(String[] args) {
                              double x[],elemento;
                              System.out.print(«Cantidad de elementos: «);
                              int n = entrada.nextInt();
                              x = new double[n];
                              ingresarArreglo(x,n);
                              System.out.println(«Arreglo ingresado»);
                              reportarArreglo(x,n);
                              System.out.print(«Ingresar elemento a eliminar: «);
                              elemento = entrada.nextDouble();
                              int posicion = buscarElemento(x,n,elemento);
                              if(posicion!=-1){
                                      n = eliminarElemento(x,n,posicion);
                                      System.out.println(«Nuevo arreglo»);
                                      reportarArreglo(x,n);
                              }
                              else
                                      System.out.println(«El elemento no se encuentra en el arreglo»);
                   }
          }

5) Hacer un programa para ingresar N elementos reales en un arreglo y reportarlo en pantalla. Además reportar el arreglo ordenado de forma ascendente.

          import java.util.*;

          public class Ejercicio05 {
 
                   static Scanner entrada = new Scanner(System.in);

                   public static void ingresarArreglo(double Arreglo[], int n){
                              for(int i=0;i<n;i++){
                                     System.out.print(«Arreglo[«+i+»]: «);
                                     Arreglo[i] = entrada.nextDouble();
                              }
                   }
                   public static void reportarArreglo(double Arreglo[], int n){
                              for(int i=0;i<n;i++)
                                     System.out.println(Arreglo[i]);
                   }
                   public static void ordenarAscendente(double Arreglo[], int n){
                              double auxiliar;
                              for(int i=0;i<n-1;i++)
                                     for(int j=i+1;j<n;j++)
                                            if(Arreglo[i]>Arreglo[j]){
                                                      auxiliar = Arreglo[i];
                                                      Arreglo[i] = Arreglo[j];
                                                      Arreglo[j] = auxiliar;
                                            }
                   }
                   public static void main(String[] args) {
                              double x[];
                              System.out.print(«Cantidad de elementos: «);
                              int n = entrada.nextInt();
                              x = new double[n];
                              ingresarArreglo(x,n);
                              System.out.println(«Arreglo ingresado»);
                              reportarArreglo(x,n);
                              ordenarAscendente(x,n);
                              System.out.println(«Arreglo ordenado»);
                              reportarArreglo(x,n);
                   }
          }

6) Hacer un programa para ingresar N elementos en un arreglo y reportarlo en pantalla. Además ingresar un número y la posición donde se desea insertar e insertar en el arreglo, y reportar el arreglo ingresado.

          import java.util.*;

          public class Ejercicio06 {

                   static Scanner entrada = new Scanner(System.in);

                   public static void ingresarArreglo(double Arreglo[], int n){
                              for(int i=0;i<n;i++){
                                     System.out.print(«Arreglo[«+i+»]: «);
                                     Arreglo[i] = entrada.nextDouble();
                              }
                   }
                   public static void reportarArreglo(double Arreglo[], int n){
                              for(int i=0;i<n;i++)
                                     System.out.println(Arreglo[i]);
                              }
                   public static int insertarElemento(double Arreglo[], int n, double elemento, int posicion){
                              for(int i=n-1;i>=posicion;i––)
                                     Arreglo[i+1] = Arreglo[i];
                              Arreglo[posicion] = elemento;
                              n = n+1;
                              return n;
                   }
                   public static void main(String[] args) {
                              double x[], elemento; int posicion;
                              System.out.print(«Cantidad de elementos: «);
                              int n = entrada.nextInt();
                              x = new double[n+1];
                              ingresarArreglo(x,n);
                              System.out.println(«Arreglo ingresado»);
                              reportarArreglo(x,n);
                              System.out.print(«Ingresar elemento a insertar: «);
                              elemento = entrada.nextDouble();
                              do{
                                         System.out.print(«Ingresar posicion a insertar: «);
                                         posicion = entrada.nextInt();
                              }while(posicion<0 || posicion>n);
                              n = insertarElemento(x,n,elemento,posicion);
                              System.out.println(«Nuevo arreglo»);
                              reportarArreglo(x,n);
                   }
          }

7) Hacer un programa para ingresar N números enteros en un arreglo y reportarlo en pantalla, y reportar la lista de los primeros números pares e impares ingresado y la lista de los primeros números positivos y negativos ingresados.

          import java.util.*;

          public class Ejercicio07 {

                   static Scanner entrada = new Scanner(System.in);

                   public static void ingresarArreglo(double Arreglo[], int n){
                              for(int i=0;i<n;i++){
                                     System.out.print(«Arreglo[«+i+»]: «);
                                     Arreglo[i] = entrada.nextDouble();
                              }
                   }
                   public static void reportarArreglo(double Arreglo[], int n){
                              for(int i=0;i<n;i++)
                                     System.out.println(Arreglo[i]);
                   }
                   public static int numeroPar(double x[], int n){
                              int i;
                              for(i=0;i<n;i++){
                                     if(x[i]%2 == 0){
                                             System.out.println(«Es un numero par»);
                                     }else
                                             System.out.println(«Es un numero impar»);
                              }
                              return i;
                   }
                   public static int numeroNegativo(double x[], int n){
                              int i;
                              for(i=0;i<n;i++){
                                     if(x[i]>0){
                                            System.out.println(«Es un numero positivo»);
                                     }else
                                            System.out.println(«Es un numero negativo»);
                              }
                              return i;
                   }
                   public static void main(String[] args) {
                              double x[];
                              System.out.print(«Cantidad de elementos: «);
                              int n = entrada.nextInt();
                              x = new double[n];
                              ingresarArreglo(x,n);
                              System.out.println(«Lista de numeros pares e impares»);
                              numeroPar(x,n);
                              reportarArreglo(x,n);
                              System.out.println(«Lista de numeros positivos y negativos»);
                              numeroNegativo(x,n);
                              reportarArreglo(x,n);
                   }
          }

8) Hacer un programa para ingresar N números enteros en un arreglo A y otros N números enteros en un arreglo B y reportar la lista de números enteros del arreglos C. Donde: C[i]=A[i]+B[i]

          import java.util.*;

          public class Ejercicio08 {

                   static Scanner entrada = new Scanner(System.in);

                   public static void ingresarArreglo(double Arreglo[], int n){
                              for(int i=0;i<n;i++){
                                     System.out.print(«Arreglo[«+i+»]: «);
                                     Arreglo[i] = entrada.nextDouble();
                              }
                   }
                   public static void reportarArreglo(double Arreglo[], int n){
                              for(int i=0;i<n;i++)
                                     System.out.println(Arreglo[i]);
                   }
                   public static int calcularSuma(double A[], double B[], double C[], int n){
                              int i;
                              for(i=0;i<n;i++)
                                     C[i] = A[i]+B[i];
                              return i;
                   }
                   public static void main(String[] args) {
                              double A[], B[], C[];
                              int n, suma = 0;
                              System.out.print(«Cantidad de elementos: «);
                              n = entrada.nextInt();
                              A = new double[n];
                              System.out.println(«Ingresar arreglo A»);
                              ingresarArreglo(A,n);
                              B = new double[n];
                              System.out.println(«Ingresar arreglo B»);
                              ingresarArreglo(B,n);
                              System.out.println(«Arreglo A ingresado»);
                              reportarArreglo(A,n);
                              System.out.println(«Arreglo B ingresado»);
                              reportarArreglo(B,n);
                              System.out.println(«Resultado del arreglo C»);
                              C = new double[n];
                              suma = calcularSuma(A,B,C,n);
                              reportarArreglo(C,n);
                   }
          }