PROGRAMACIÓN EN JAVA

Francisco Javier Cruz Vílchez

EJERCICOS RESUELTOS

  1. Escribir un programa, que lea una lista de números enteros positivos y los muestre en pantalla. Luego, si hay números repetidos, deben eliminarse de la lista y dejar sólo uno de cada número e imprimir la nueva lista.

 

class CMatrizTest01 {
      public static void main(String args[]){
        final int MAX=10;
        int num[]= new int[MAX];
     
        leenum(num);
        presentar(num);
        eliminar(num);
        System.out.println("==============Lista Depurada=============");
        presentar(num);                 
      }
   public static  void leenum(int a[]){
      int ter=0;
      System.out.println("Generamos los Términos del Arreglo de Manera Aleatoria");
                  for(int i=0;i<a.length;i++){
                             ter=(int)(Math.random()*10);
                             a[i]=ter;
                  }                                                         
   }
   public static void presentar(int a[]){
       for(int i=0; i<a.length;i++){
                  System.out.println("A["+i+"]= "+a[i]);
       }
   }
 
   public static void eliminar(int a[]){
        int val=-1;
        int aux[]=new int[a.length];
        for(int i=0; i<a.length;i++) { //copiamos los elementos de a aux.
                  aux[i]=a[i];
        }
        /*Buscamos Datos Repetidos y si lo hay*/
        /*se remplaza su posición por val     */
        for(int i=0;i<(a.length-1);i++)
                  for(int j=i+1;j<a.length;j++){
                              if(aux[i]==aux[j])
                                         aux[i]=val;
                  }

         int j=0;
         for(int i=0;i<aux.length;i++){
                   if(aux[i]!=val){
                              a[j]=aux[i];
                               j++;
                  }
         }

 

         for(int K=j;K<a.length;K++){
                   a[K]=0;
         }
         
      }
}

  1. Escribir un programa que dados dos arreglos numéricos a y b, de n1 y n2 elementos respectivamente guarden en un tercer arreglo c, todos los números que están en a pero no están en b.

class CArregloTest02 {
      public static void main(String args[]){
        final int MAX=10;
        int a[]= new int[MAX];
        int b[]= new int[MAX];
        int c[]= new int[MAX];
        leenum(a);
        leenum(b);
        System.out.println("ARREGLO A :        ");
        presentar(a);
        System.out.println("ARREGLO B :        ");
        presentar(b);
        separar(a,b,c);
        System.out.println("ARREGLO C :        ");
        presentar(c);  
      }
  public static  void leenum(int A[]){
      int ter=0;
      System.out.println("Generamos los Términos del Arreglo");
                  for(int i=0;i<A.length;i++){
                             ter=(int)(Math.random()*10);
                             A[i]=ter;
                  }                                                         
   }
   public static void presentar(int A[]){
       for(int i=0; i<A.length;i++){
       /*       System.out.println("A["+i+"]= "+A[i]);*/
       System.out.println(" "+A[i]);
       }
   }
   public static void separar(int a1[],int b1[],int c1[]){
      int x,y;
      int j,i,band=0,k=0;
      for(i=0 ; i<a1.length;i++){
                  for(j=0;j<b1.length;j++)
                             if(a1[i]==b1[j]){
                                         band=1;
                                         break;
                             }                      
                             if(band==0){
                                         c1[k]=a1[i];
                                         k++;
                             }
                              else band=0;
       }         
   }
}


EJERCICIOS PROPUESTOS

1. Escribir un programa que reciba como parámetros 2 cadenas de caracteres y determine si son iguales o si son diferentes y cual es la mayor.

2.- Si x representa la media de los números x1,x2,…xn entonces la varianza es la media de los cuadrados de las desviaciones de los números de la media.

 

Y la desviación estándar es la raíz cuadrada de la varianza. Escribir un programa que lea una lista de números reales, los cuente y a continuación calcule e imprima su media, varianza y desviación estándar. Utilizar un método para calcular la media, otro para la varianza y otro para la varianza.

3.-Escriba un programa que determine si una palabra es palíndromo. Un palíndromo es un array de caracteres que se lee de igual forma en ambos sentidos; por ejemplo ana.

4.- Escribir un programa en el que se genere aleatoriamente un vector de 20 números enteros. El vector ha de quedar de tal forma que la suma de los 10 primeros elementos sea mayor que la suma de los 10 últimos elementos. Mostrar el vector original.

5.-Dada una cadena fuente y una secuencia de caracteres guardados en un array, escribir un método que devuelva la posición de la primera ocurrencia de cualquiera de los caracteres del array cadena.

 

Volver al índice