Título: Ayuda con arreglos Publicado por: Slayer_Zero en 20 Junio 2012, 04:07 am Hola
necesito ayuda urgente necesito realizar un programa que lea n numeros y almacene en 2 arreglos (10 elementos para cada arreglo), un arreglo que almacene los numeros positivos y otro con los negativos, el numero 0 sera ignorado ya tengo algo del programa pero la verdad no se si este bien Citar import java.util.Scanner; public class examfinal2{ public static void main(String argumentos[]){ int i=0,po=0,no=0, suma,cont=1,poscon=1,aux=0; Scanner entrada = new Scanner (System.in); double promp=0, promn=0; int datos1[] = new int[10]; int datos2 []= new int[10]; int datos3 []= new int[10]; Scanner numero = new Scanner (System.in); while (cont!=0){ System.out.printf("Ingresar 10 numeros positivos y 10 numeros negativos"); for (i=0; i<20; i++){ System.out.printf("\nIngresa numero :",i); datos1 = numero.nextInt(); if (datos1==0){ System.out.println("Ingresar otro valor"); i--; } if (datos1>0){ System.out.println("Numero Positivo"); datos2[po]=datos1; i++; for(i=0; i<1; i++){ System.out.printf("\nValor: %d posicion: %d",datos2[po], po++);} } if (po==10){ System.out.println("\nIngresar otro valor"); datos2[po]=datos1; po--; } if (datos1<0) { System.out.println("Numero Negativo"); datos3[no]=datos1; for(i=0; i<1; i++){ System.out.printf("\nValor: %d posicion: %d",datos3[no], no++);} if (no==10){ System.out.println("\nIngresar otro valor"); datos3[no]=datos1; i++; no--; } } } for(i=0; i<20; i++){ promp= promp+datos2[po]; } promp= promp/10; System.out.printf("\nPromedio pares = %f",promp); for(i=0; i<20; i++){ promn= promn+datos3[no]; } promn= promn/10; System.out.printf("\nPromedio impares = %f",promn); System.out.printf("\nDesea volver a realizar las operaciones? SI[1] NO[0]: "); cont = entrada.nextInt(); } } } Título: Re: Ayuda con arreglos Publicado por: s00rk en 20 Junio 2012, 06:00 am En los arreglos debes indicar la posicion donde guardaras los valores lo cual no haces en datos1 e igual para ver algun valor ocupas indicar la posicion.
Título: Re: Ayuda con arreglos Publicado por: Slayer_Zero en 20 Junio 2012, 06:32 am Ya casi esta listo lo unico que me falta es sacar el promedio pero no lo saca
me podrias ayudar a saber en que estoy mal? Citar import java.util.Scanner; public class examenfinal{ public static void main(String argumentos[]){ int i=0,po=0,no=0, suma,cont=1,poscon=1,aux=0,n=0; Scanner entrada = new Scanner (System.in); double promp=0, promn=0; int datos2 []= new int[10]; int datos3 []= new int[10]; Scanner numero = new Scanner (System.in); while (cont!=0){ System.out.printf("Ingresar 10 numeros positivos y 10 numeros negativos"); for (i=0; i<20; i++){ System.out.printf("\nIngresa numero :",n); n = numero.nextInt(); if (n==0){ System.out.println("Ingresar otro valor"); i--; } if (n>0){ System.out.println("Numero Positivo"); if (po!=10){ datos2[po]=n; System.out.printf("\nValor: %d posicion: %d",datos2[po], po++); } else { System.out.println("\nIngresar otro valor"); i--; } } if (n<0) { System.out.println("Numero Negativo"); if(no!=10){ datos3[no]=n; System.out.printf("\nValor: %d posicion: %d",datos3[no], no++);} else { System.out.println("\nIngresar otro valor"); i--; } } if(i==20){ promp= promp+datos2[po]; promp= promp/10; System.out.printf("\nPromedio pares = %f",promp); promn= promn+datos3[no]; promn= promn/10; System.out.printf("\nPromedio impares = %f",promn); } } System.out.printf("\nDesea volver a realizar las operaciones? SI[1] NO[0]: "); cont = entrada.nextInt(); } } } Título: Re: Ayuda con arreglos Publicado por: s00rk en 20 Junio 2012, 08:23 am El error esta en que estas intentando sacar el promedio dentro del bucle for, para sacar el promedio primero debes sumar todos los valores leidos y luego al salir del for, dividir la suma de estos entre el total que se leyeron.
Ademas nunca va a entrar a la condicion if(i == 20), ya que el bucle va de 0 a 19; i = 0; i < 20 (esto indica mientras i sea menor a 20 mas no igual), por lo que nunca entraria a ese bucle. Aparte de que promn y el otro solamente tendrian el valor del ultimo valor leido. |