Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Tp1ejercicio1 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- System.out.println("Ejercicio 1 Tp 1");
- System.out.println("Vamos a crear dos arreglos que contengan:");
- System.out.println("Arreglo 1: números compuestos");
- System.out.println("Arreglo 2: números deficientes");
- int op=0;
- int n = Helper.getPositiveInt("Ingrese la dimension de los arreglos");
- while (op != 3&op != 2 &op != 1) {
- op = opcion();
- switch (op) {
- case 1:
- aleatorio(n);
- System.out.println("\nFin del programa... Adiós!");
- break;
- case 2:
- manual(n);
- System.out.println("\nFinalizando programa... Adiós!");
- break;
- case 3:
- System.out.println("Programa Terminado");
- break;
- default:
- System.out.println("No es una opción correcta ");
- break;
- }
- }
- }
- public static int opcion() {
- System.out.println("Desea generar arreglos aleatoriamente o ingresar sus valores manualmente?");
- System.out.println("1. Aleatorio");
- System.out.println("2. Manual");
- System.out.println("3. Salir");
- Integer opcion = Helper.getInteger("Ingrese una opción","Ingrese un número ");
- return opcion;
- }
- public static boolean esCompuesto(int a) {
- int contador = 0;
- int i = 2;
- while(i<=(Math.sqrt(a))) {
- if (a%i==0)contador++;
- i++;
- }
- if (contador>0) return true;
- return false;
- }
- public static boolean esDeficiente(int a) {
- int acumulador = 0;
- int i = 1;
- while(i<=(a/2)) {
- if (a%i==0)acumulador +=i;
- i++;
- }
- if (acumulador<a) return true;
- return false;
- }
- public static int generarValor() {
- Integer valor = (int) (Math.random()*100)+1;
- return valor;
- }
- public static void mostrarArreglo(int[] arr) {
- for(int i=0;i<arr.length;i++) {
- System.out.print(arr[i]+" ");
- }
- }
- public static void menoresAM(int[] arr,int n) {
- for(int i=0;i<arr.length;i++) {
- if(arr[i]<n)System.out.print(arr[i]+" ");
- }
- }
- public static void mayoresAM(int[] arr,int n) {
- for(int i=0;i<arr.length;i++) {
- if(arr[i]>n)System.out.print(arr[i]+" ");
- }
- }
- public static int[] diferencia(int[] arr1,int[] arr2,int n) {
- int[] arr3 = new int[n];
- for(int i=0;i<n;i++) {
- arr3[i]=arr1[i]-arr2[i];
- }
- return arr3;
- }
- public static int media(int[] arr) {
- int acumulador=0,media;
- for(int i=0;i<arr.length;i++) {
- acumulador += arr[i];
- }
- media = acumulador/arr.length;
- return media;
- }
- public static void aleatorio(int n) {
- int [] arreglo1= new int[n],arreglo2 = new int[n];
- int valor,d1=0,d2=0;
- while(d1<n) {
- valor = generarValor();
- if (esCompuesto(valor)) arreglo1[d1++]=valor;
- }
- while(d2<n) {
- valor = generarValor();
- if ((esDeficiente(valor))) arreglo2[d2++]=valor;
- }
- System.out.println("\nArreglo de compuestos");
- mostrarArreglo(arreglo1);
- System.out.println("\nArreglo de deficientes");
- mostrarArreglo(arreglo2);
- int[] diferencia = diferencia(arreglo1,arreglo2,n);
- System.out.println("\nLa diferencia entre los elementos de ambos arreglos es: ");
- mostrarArreglo(diferencia);
- int media=media(diferencia);
- System.out.println("\nLa media de la diferencia es "+media);
- System.out.println("Los valores mayores a la media del primer arreglo son: ");
- mayoresAM(arreglo1,media);
- System.out.println("\nLos valores menores a la media del segundo arreglo son: ");
- menoresAM(arreglo2,media);
- }
- public static void manual(int n) {
- int [] arreglo1= new int[n],arreglo2 = new int[n];
- int valor,d1=0,d2=0;
- while((d1<n)|(d2<n)) {
- valor = Helper.getInteger("Ingrese un número");
- if (esCompuesto(valor)&d1<n) {
- arreglo1[d1++]=valor;
- System.out.println("Compuesto");
- }else if (esDeficiente(valor)&d2<n) {
- arreglo2[d2++]=valor;
- System.out.println("Deficiente");
- }
- }
- System.out.println("\nArreglo de compuestos");
- mostrarArreglo(arreglo1);
- System.out.println("\nArreglo de deficientes");
- mostrarArreglo(arreglo2);
- int[] diferencia = diferencia(arreglo1,arreglo2,n);
- System.out.println("\nLa diferencia entre los elementos de ambos arreglos es: ");
- mostrarArreglo(diferencia);
- int media=media(diferencia);
- System.out.println("\nLa media de la diferencia es "+media);
- System.out.println("Los valores mayores a la media del primer arreglo son: ");
- mayoresAM(arreglo1,media);
- System.out.println("\nLos valores menores a la media del segundo arreglo son: ");
- menoresAM(arreglo2,media);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement