Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //-UNIVERSIDAD NACIONAL DE JUJUY- FACULTAD DE INGENIERÍA -ESTRUCTURAS DE DATOS
- //-TRABAJO PRACTICO N°1: ARREGLOS, ARREGLOS DINÁMICOS, OBJETOS BÁSICOS -GRUPO 3.2
- //-------------------------------------------------------------------------------------------------------
- import java.util.Random;
- import java.util.Scanner;
- public class EJERC1 {
- public static void main(String[] args) {
- Scanner sc =new Scanner(System.in);
- int OP;
- int dim=PositivoInt(sc,"Ingrese la dimensión del arreglo: ");
- int V1[]=new int [dim];
- int V2[]=new int [dim];
- int V3[]=new int [V1.length];
- do {
- OP=Menu(sc,"Ingrese una opción del menú: ");
- System.out.println("");
- switch (OP){
- case 1:
- cargarVDiv(sc,V1);
- System.out.println("Vector generado");
- Mostrar(V1);
- System.out.println("Media del Vector: "+ Media(V1));
- cargarVPrimo(sc,V2);
- System.out.println("Vector generado");
- Mostrar(V2);
- System.out.println("Media del Vector: "+ Media(V2));
- VectorSuma(V1,V2,V3);
- System.out.println("Media del Vector Suma: "+ Media(V3));
- MediaMen(V1,V3);
- MediaMay(V2,V3);
- break;
- case 2:
- AleatorioDiv(V1);
- System.out.println("Vector generado: Divisores de 1000");
- Mostrar(V1);
- System.out.println("Media del Vector: "+ Media(V1));
- AleatorioPrimo(V2);
- System.out.println("\nVector generado: Números primos");
- Mostrar(V2);
- System.out.println("Media del Vector: "+ Media(V2));
- VectorSuma(V1,V2,V3);
- System.out.println("Media del Vector Suma: "+ Media(V3));
- MediaMen(V1,V3);
- MediaMay(V2,V3);
- break;
- case 3:
- System.out.println("Muchas gracias, hasta luego.");
- break;
- default:
- System.out.println("Opción no valida");
- }
- } while (OP!=3);
- sc.close();
- }
- public static int Menu(Scanner sc,String message ){
- int opcion;
- do {
- System.out.println("-----------------------------------");
- System.out.println(" // ELIJA UNA OPCIÓN DEL MENÚ//");
- System.out.println("1.Ingresar números al arreglo ");
- System.out.println("2.Generar números aleatoriamente ");
- System.out.println("3.Salir");
- opcion=ReadInt(sc,message);
- if(opcion<0 || opcion>3){
- System.out.println("\nError: Ingrese una opción valida");
- }
- }while(opcion<0 || opcion>3);
- return opcion;
- }
- public static int ReadInt(Scanner sc, String message) {
- int num;
- String line;
- while (true) {
- try {
- System.out.print(message);
- line = sc.nextLine();
- num = Integer.parseInt(line);
- break;
- }
- catch (Exception e) {
- System.out.println("\nERROR al cargar un número entero");
- }
- }
- return num;
- }
- //Valida que el tamaño del vector sea positivo y entero
- public static int PositivoInt(Scanner sc, String message)
- {
- int num;
- while(true) {
- num=ReadInt(sc,message);
- if (num>0) {
- break;
- }
- else {
- System.out.println("El valor de dimensión del vector debe ser positivo y entero");
- }
- }
- return num;
- }
- public static void cargarVDiv(Scanner sc, int V1[])
- {
- System.out.println("Cargando 1° Vector: Divisores de 1000");
- for (int i=0; i < V1.length; i++ )
- {
- int num=ReadInt(sc,"Ingrese un numero entero: ");
- if (DivisoresMil(num))
- {
- V1[i]=num;
- }else {
- i=i-1;
- }
- }
- }
- public static void cargarVPrimo(Scanner sc, int V2[])
- {
- System.out.println("\nCargando 2° Vector: Números primos");
- for (int i=0; i <V2.length; i++ )
- {
- int num=ReadInt(sc,"Ingrese un número entero: ");
- if (EsPrimo(num)) {
- V2[i]=num;
- }else {
- i=i-1;
- }
- }
- }
- public static void AleatorioDiv(int V1[])
- {
- Random rnd=new Random();
- for (int i=0; i < V1.length; i++ )
- {
- int num=rnd.nextInt(1000)+1;
- if (DivisoresMil(num)) {
- V1[i]=num;
- }else {
- i=i-1;
- }
- }
- }
- public static void AleatorioPrimo(int V2[])
- {
- Random rnd=new Random();
- for (int i=0; i < V2.length; i++ )
- {
- int num=rnd.nextInt(1000)+1;
- if (EsPrimo(num)) {
- V2[i]=num;
- }else {
- i=i-1;
- }
- }
- }
- public static void Mostrar(int V[])
- {
- for (int i=0; i < V.length; i++ )
- {
- System.out.println("Posición "+ (i+1)+ ": " + V[i]);
- }
- }
- public static boolean DivisoresMil(int num)
- {
- boolean divisor=false;
- if(1000 % num==0)
- {
- divisor=true;
- }
- return divisor;
- }
- public static boolean EsPrimo(int num)
- {
- int contador = 2;
- boolean primo=true;
- while ((primo) && (contador!=num)){
- if ((num % contador == 0)||(num==1))
- primo = false;
- contador++;
- }
- return primo;
- }
- public static void VectorSuma(int V1[],int V2[],int V3[])
- {
- for (int i=0; i < V1.length; i++ )
- {
- V3[i]= V1[i]+V2[i];
- }
- System.out.println("\nVector suma del primer y segundo vector");
- for (int i=0; i < V3.length; i++ ) {
- System.out.println("Posición "+ (i+1)+ ": " + V3[i]);
- }
- }
- //Calculo de la media del vector
- public static double Media(int V[]) {
- double suma = 0;
- for (int i = 0; i < V.length; i++) {
- suma=suma + V[i];
- }
- return suma / V.length;
- }
- //valores del vector suma que resultan menores a la media del primer vector
- public static void MediaMen(int V1[],int V3[])
- {
- System.out.println("\nValores del vector suma que resultan menores a la media del 1° vector ");
- for (int i = 0; i < V3.length; i++) {
- if (V3[i]< Media(V1))
- {
- System.out.println(V3[i]);
- }
- }
- }
- //valores del vector suma que resultan mayores a la media del segundo vector
- public static void MediaMay(int V2[],int V3[])
- {
- System.out.println("\nValores del vector suma que resultan mayores a la media del 2° vector ");
- for (int i = 0; i < V3.length; i++) {
- if (V3[i]> Media(V2))
- {
- System.out.println(V3[i]);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement