Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: Lesterfbt en 1 Julio 2017, 18:29 PM

Título: Urgente su ayuda con incidencia de números
Publicado por: Lesterfbt en 1 Julio 2017, 18:29 PM
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
Título: Re: Urgente su ayuda con incidencia de números
Publicado por: engel lex en 1 Julio 2017, 18:57 PM
no se hacen tareas, indica tu problema y lo que llevas hecho
Título: Re: Urgente su ayuda con incidencia de números
Publicado por: Lesterfbt en 1 Julio 2017, 19:12 PM
Hola buenas este es mi codigo:

Código (java) [Seleccionar]
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 (http://foro.elhacker.net/reglas.htm)
-Engel Lex
Título: Re: Urgente su ayuda con incidencia de números
Publicado por: engel lex en 1 Julio 2017, 19:21 PM
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

Título: Re: Urgente su ayuda con incidencia de números
Publicado por: migueluc en 1 Julio 2017, 19:25 PM
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.
Título: Re: Urgente su ayuda con incidencia de números
Publicado por: Lesterfbt en 2 Julio 2017, 01:24 AM
Aquí la solución al ejercicio espero le sirva de ayuda alguien mas saludos.

Código (java) [Seleccionar]
public class Ejercicio2 {

public static void main(String args[]) throws IOException {
BufferedReader bufEntrada = new BufferedReader(new InputStreamReader(System.in));
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) {
System.out.print("");
} else {
System.out.println("Incidencia de "+i+" es "+frecuencia[i]);
}
}
}


}



· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex