Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package TP1;
- import java.text.DecimalFormat;
- import java.util.Random;
- import java.util.Scanner;
- public class ejer1test {
- public static void main(String[] args) {// Este es el Mein n.n
- int opc;
- int Divisores[];
- Divisores=new int[10];
- int Primos[];
- Primos=new int[10];
- int Sumatoria[];
- Sumatoria=new int[10];
- int a;
- a=0;
- // Comienza la ejecucion de funciones y procedimientos
- System.out.println("Desea ingresar numero por consola [1] o Generar numeros aleatorios[2]");
- while(true) {
- while(true){
- opc = obten_int();
- if ( Malopc(opc)==false) break;
- }
- switch(opc) {
- case 2:AsignacionRandomP(Primos,a);
- AsignacionRandomD(Divisores,a);
- Suma(Primos,Divisores,Sumatoria);
- media(Divisores);
- media(Sumatoria);
- media(Primos);
- menorymayor(Sumatoria,Primos,Divisores);
- break;
- case 1: CargarVector(Primos,a);
- Cargardivisores(Divisores,a);
- Suma(Primos,Divisores,Sumatoria);
- media(Divisores);
- media(Sumatoria);
- media(Primos);
- menorymayor(Sumatoria,Primos,Divisores);
- break;
- default:
- }
- break;
- }
- }
- static boolean Malopc(int opc) {// Valida que Opc Sea 1 o 2
- boolean mal=false;
- if(opc != 1 && opc != 2 )
- {
- System.out.println("Ingrese 1 o 2");
- mal = true;
- }
- return mal;
- }
- static int obten_int() { //Valida que se ingrese un Entero
- @SuppressWarnings("resource")
- Scanner scan = new Scanner(System.in);
- do {
- if (scan.hasNext()) {
- if (scan.hasNextInt()) {
- return scan.nextInt();
- } else {
- scan.next();
- System.out.print("No ha introducido un número valiado");
- }
- } else {
- System.out.println("Recibido EOF (forzamos 0)");
- return 0;
- }
- } while (true);
- }
- static double media (int x[]) {// Esta Piola
- int i;
- double h;
- h=0;
- for(i=0; i<x.length;i++) {
- h= h+ x[i];
- }
- h=h/x.length;
- return h;
- }
- static void menorymayor(int x[],int y[],int z[]) {//Muestra Promedios de los Vectores ya Cargados
- int i;
- DecimalFormat df = new DecimalFormat("#0.00");
- System.out.println(" Promedios ");
- System.out.println("Promedio del vector Primos = "+df.format(media(y)) );
- System.out.println("Promedio del vector Divisores = "+df.format(media(z)) );
- System.out.println("Promedio del vector Sumatoria = "+df.format(media(x)) );
- for(i=0;i<x.length;i++) {
- if( media(z)<x[i]) {
- System.out.println("Numero Mayor al Promedio del vector Divisores "+x[i]);
- }
- if (x[i]<media(y)) {
- System.out.println("Numero Menor al Promedio del vector Primos "+x[i]);
- }
- }
- }
- static void AsignacionRandomD (int x[],int a) {//Genera numeros random divisores de 1000
- int i;
- Random random=new Random();
- System.out.println(" Vector de Divisores ");
- for(i=0;i<x.length;i++) {
- do{
- a=random.nextInt(1000)+1;
- }while (1000%a==0) ;
- x[i]=a;
- System.out.println("Numero Generado "+x[i]+" en la posicion "+i);
- }
- }
- static void AsignacionRandomP (int x[],int a) {//Genera Numeros random Primos
- int i;
- Random random=new Random();
- System.out.println(" Vector De Numeros Primos");
- for(i=0;i<x.length;i++) {
- do{
- a=random.nextInt(1000)+1;
- }while (Primo(a)==0);
- x[i]=a;
- System.out.println("Numero Generado "+x[i]+" en la posicion "+i);
- }
- }
- static void Suma(int x[],int y[],int z[]) {//Rellena el 3er Vector
- int i;
- System.out.println(" Vector Sumatoria");
- for(i=0; i<z.length;i++) {
- z[i]= x[i]+y[i];
- System.out.println("Numero "+z[i]+" guardado en la posicion "+i);
- }
- }
- static void CargarVector(int x[],int a) {// cargar el vector Primos por Consola
- int i;
- for (i=0; i<x.length;i++) {
- do {
- System.out.println("Ingrese Numero primos");
- a = obten_int();
- if(Primo(a)==0) {
- System.out.println("No es un numero primo");
- }
- }while (Primo(a)==0);
- x[i]=a;
- }
- }
- static public int Primo (int a)//funcion para determinar si un numero es primo o no
- {
- int i,b;
- b=1;
- i=2;
- while(b==1 & i<a)
- {
- if (a % i== 0) {
- b=0;
- }else {
- i=i+1;
- }
- }
- return (b);
- }
- static void Cargardivisores(int x[],int a){// cargar el vector Divisores por Consola
- int i;
- for (i=0; i<x.length;i++) {
- do {
- System.out.println("Ingrese Numero Divisor de 1000");
- a = obten_int();
- if(divisor(a)==0) {
- System.out.println("No es un divisor de 1000");
- }
- }while (divisor(a)==0);
- x[i]=a;
- }
- }
- static public int divisor (int a)//Funcion que determinar si un numero es divisor de 1000
- {
- int b;
- b=0;
- if (1000 % a==0) {
- b=1;
- }
- return b;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement