Advertisement
LEANDRONIEVA

Tp1ejercicio1

Oct 27th, 2022
1,064
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.55 KB | None | 0 0
  1. public class Tp1ejercicio1 {
  2.  
  3.     public static void main(String[] args) {
  4.         // TODO Auto-generated method stub
  5.  
  6.         System.out.println("Ejercicio 1 Tp 1");
  7.         System.out.println("Vamos a crear dos arreglos que contengan:");
  8.         System.out.println("Arreglo 1: números compuestos");
  9.         System.out.println("Arreglo 2: números deficientes");
  10.        
  11.         int op=0;
  12.         int n = Helper.getPositiveInt("Ingrese la dimension de los arreglos");
  13.        
  14.         while (op != 3&op != 2 &op != 1) {
  15.             op = opcion();
  16.        
  17.             switch (op) {
  18.             case 1:        
  19.                 aleatorio(n);
  20.                 System.out.println("\nFin del programa... Adiós!");
  21.                 break;
  22.                
  23.             case 2:
  24.                 manual(n);
  25.                 System.out.println("\nFinalizando programa... Adiós!");
  26.                 break;
  27.             case 3:
  28.                 System.out.println("Programa Terminado");
  29.                 break;
  30.             default:
  31.                 System.out.println("No es una opción correcta ");
  32.                 break;
  33.             }
  34.         }
  35.     }
  36.  
  37.     public static int opcion() {
  38.         System.out.println("Desea generar arreglos aleatoriamente o ingresar sus valores manualmente?");
  39.         System.out.println("1. Aleatorio");
  40.         System.out.println("2. Manual");
  41.         System.out.println("3. Salir");
  42.        
  43.         Integer opcion = Helper.getInteger("Ingrese una opción","Ingrese un número ");
  44.        
  45.         return opcion;
  46.     }
  47.     public static boolean esCompuesto(int a) {
  48.         int contador = 0;
  49.         int i = 2;
  50.         while(i<=(Math.sqrt(a))) {
  51.             if (a%i==0)contador++;
  52.             i++;
  53.         }
  54.         if (contador>0) return true;
  55.         return false;
  56.     }
  57.     public static boolean esDeficiente(int a) {
  58.         int acumulador = 0;
  59.         int i = 1;
  60.        
  61.         while(i<=(a/2)) {
  62.             if (a%i==0)acumulador +=i;
  63.             i++;
  64.         }
  65.         if (acumulador<a) return true;
  66.        
  67.         return false;
  68.     }
  69.  
  70.     public static int generarValor() {
  71.         Integer valor = (int) (Math.random()*100)+1;
  72.        
  73.         return valor;
  74.     }
  75.     public static void mostrarArreglo(int[] arr) {
  76.         for(int i=0;i<arr.length;i++) {
  77.             System.out.print(arr[i]+" ");
  78.         }
  79.     }
  80.     public static void menoresAM(int[] arr,int n) {
  81.         for(int i=0;i<arr.length;i++) {
  82.             if(arr[i]<n)System.out.print(arr[i]+" ");
  83.         }
  84.     }
  85.     public static void mayoresAM(int[] arr,int n) {
  86.         for(int i=0;i<arr.length;i++) {
  87.             if(arr[i]>n)System.out.print(arr[i]+" ");
  88.         }
  89.     }
  90.    
  91.     public static int[] diferencia(int[] arr1,int[] arr2,int n) {
  92.         int[] arr3 = new int[n];
  93.         for(int i=0;i<n;i++) {
  94.             arr3[i]=arr1[i]-arr2[i];
  95.         }
  96.        
  97.         return arr3;
  98.     }
  99.    
  100.     public static int media(int[] arr) {
  101.         int acumulador=0,media;
  102.         for(int i=0;i<arr.length;i++) {
  103.             acumulador += arr[i];
  104.         }
  105.         media = acumulador/arr.length;
  106.         return media;
  107.     }
  108.    
  109.     public static void aleatorio(int n) {
  110.         int [] arreglo1= new int[n],arreglo2 = new int[n];
  111.         int valor,d1=0,d2=0;
  112.         while(d1<n) {
  113.             valor = generarValor();
  114.             if (esCompuesto(valor)) arreglo1[d1++]=valor;
  115.         }  
  116.         while(d2<n) {
  117.             valor = generarValor();
  118.             if ((esDeficiente(valor))) arreglo2[d2++]=valor;
  119.         }
  120.        
  121.         System.out.println("\nArreglo de compuestos");
  122.         mostrarArreglo(arreglo1);
  123.        
  124.         System.out.println("\nArreglo de deficientes");
  125.         mostrarArreglo(arreglo2);
  126.        
  127.         int[] diferencia = diferencia(arreglo1,arreglo2,n);
  128.         System.out.println("\nLa diferencia entre los elementos de ambos arreglos es: ");
  129.         mostrarArreglo(diferencia);
  130.        
  131.         int media=media(diferencia);
  132.         System.out.println("\nLa media de la diferencia es "+media);
  133.        
  134.         System.out.println("Los valores mayores a la media del primer arreglo son: ");
  135.         mayoresAM(arreglo1,media);
  136.        
  137.         System.out.println("\nLos valores menores a la media del segundo arreglo son: ");
  138.         menoresAM(arreglo2,media);
  139.     }
  140.  
  141.     public static void manual(int n) {
  142.         int [] arreglo1= new int[n],arreglo2 = new int[n];
  143.         int valor,d1=0,d2=0;
  144.        
  145.         while((d1<n)|(d2<n)) {
  146.             valor = Helper.getInteger("Ingrese un número");
  147.             if (esCompuesto(valor)&d1<n) {
  148.                 arreglo1[d1++]=valor;
  149.                 System.out.println("Compuesto");
  150.             }else if (esDeficiente(valor)&d2<n) {
  151.                 arreglo2[d2++]=valor;
  152.                 System.out.println("Deficiente");
  153.             }
  154.         }
  155.         System.out.println("\nArreglo de compuestos");
  156.         mostrarArreglo(arreglo1);
  157.        
  158.         System.out.println("\nArreglo de deficientes");
  159.         mostrarArreglo(arreglo2);
  160.        
  161.         int[] diferencia = diferencia(arreglo1,arreglo2,n);
  162.         System.out.println("\nLa diferencia entre los elementos de ambos arreglos es: ");
  163.         mostrarArreglo(diferencia);
  164.        
  165.         int media=media(diferencia);
  166.         System.out.println("\nLa media de la diferencia es "+media);
  167.        
  168.         System.out.println("Los valores mayores a la media del primer arreglo son: ");
  169.         mayoresAM(arreglo1,media);
  170.        
  171.         System.out.println("\nLos valores menores a la media del segundo arreglo son: ");
  172.         menoresAM(arreglo2,media);
  173.     }
  174. }
  175.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement