Autor
|
Tema: Urgente su ayuda con incidencia de números (Leído 3,475 veces)
|
Lesterfbt
Desconectado
Mensajes: 4
|
Escriba un programa que solicite números enteros entre 1 y 100 de forma continua hasta que el usuario ingrese el valor de 0. El programa debe determinar las incidencias de cada número de 1 a 100 en los números ingresados. Por ejemplo si se ingresa 1, 1, 4, 5, 6, 20, 20, 1, 1. La salida del programa seria: Incidencia de 1 es 4 Incidencia de 4 es 1 Incidencia de 5 es 1 Incidencia de 6 es 1 Incidencia de 20 es 2
|
|
|
En línea
|
|
|
|
engel lex
|
no se hacen tareas, indica tu problema y lo que llevas hecho
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Lesterfbt
Desconectado
Mensajes: 4
|
Hola buenas este es mi codigo: public class Ejercicio12 { static int rep=0; public static void main (String[] args ) { Scanner linea = new Scanner (System. in); int [] numd=new int[4]; System. out. println("Introduce los número:"); for(int i=0;i<numd.length;i++){ numd[i] = linea.nextInt(); int rep=0; for(int j=0;j<numd.length-1;j++){ if(i!=j){ if(numd[i]==numd[j]){ } } } } int n=numd.length; for (int k=0;k<=n-1;k++){ if(numd[k]==numd[k]){ rep ++; System. out. println("Incidencia de "+ numd [k ] +" es "+rep ); } } } }
Esto me imprime en pantalla: Introduce los número: 2 2 3 3 Incidencia de 2 es 1 Incidencia de 2 es 2 Incidencia de 3 es 3 Incidencia de 3 es 4 Mi problema es que no entiendo como hacer que se sume la repetición de un mismo numero y que solo me imprima el numero repetido una vez tal como aparece en el ejercicio expuesto. · Los códigos deben ir en etiquetas GeSHi >aquí las reglas del foro -Engel Lex
|
|
« Última modificación: 1 Julio 2017, 19:16 pm por engel lex »
|
En línea
|
|
|
|
engel lex
|
para contar las incidencias, depende del caso, un camino por ejemplo es:
despues de llenar el array, lo organizas y cuentas cada aparicion, simplemente si el numero actual es igual al anterior, se suma uno para ese numero, si es diferente, imprimes cuantos conseguiste del anterior y empiezas a sumar los nuevos
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
migueluc
Desconectado
Mensajes: 4
|
Para empezar parece que numd tiene un tamaño predefinido de 4, que igual no es lo que necesitas; te recomiendo que uses un arraylist o algún tipo de collection ya que son dinámicas.
Un error que veo es que en la línea 22 estás comparando numd[k] con numd[k], y eso siempre es TRUE porque estás comparando el mismo número.
De todas formas te aconsejo que revises un poco el algoritmo; quizás te vendría bien plantearlo en papel antes de codificar.
|
|
|
En línea
|
|
|
|
Lesterfbt
Desconectado
Mensajes: 4
|
Aquí la solución al ejercicio espero le sirva de ayuda alguien mas saludos. public class Ejercicio2 { int frecuencia[]; int i; int n; int num = 1; frecuencia = new int[100]; System. out. println("Digite los Numeros entre 1 y 100"); n = 99; for (i=1;i<=n;i++) { frecuencia[i] = 0; } for (i=1;i<=n;i++) { if (num!=0){ num = Integer. parseInt(bufEntrada. readLine()); } if (num>=1 && num<=99) { frecuencia[num] = frecuencia[num]+1; } } System. out. println("Las incidencias de los numeros son :"); for (i=1;i<=n;i++) { if (frecuencia[i]==0) { } else { System. out. println("Incidencia de "+i +" es "+frecuencia [i ]); } } } }
· Los códigos deben ir en etiquetas GeSHi >aquí las reglas del foro -Engel Lex
|
|
« Última modificación: 2 Julio 2017, 01:26 am por engel lex »
|
En línea
|
|
|
|
|
|