Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: enterrador10 en 18 Noviembre 2016, 19:11 pm



Título: obtener el numero que menos se repite en un arreglo
Publicado por: enterrador10 en 18 Noviembre 2016, 19:11 pm
Estimados, ayuda por favor, tengo este programa que me imprimer el numero que mas se repite, pero quiero obtener el que menos se repite, agradecido de los comentarios y ayudas, saludos

Código
  1. #include<stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4.  
  5. int main() {
  6. int comparador, i, j, largo, mayor, mayorfrec;
  7. mayorfrec=0;
  8. mayor=0;
  9. printf("cantidad de elemtos: ");
  10.  
  11. scanf("%i",&largo);
  12.  
  13.  
  14. int a[largo], frec[largo];
  15.  
  16. for (i=0;i<largo;i++) { //INGRESA LOS VALORES DEL VECTOR POR TECLADO
  17. printf("a[%i]: ",i);
  18. scanf("%i",&a[i]);
  19.  
  20. frec[i]=0;
  21. }
  22.  
  23. for (i=0;i<largo;i++) { //SE COMPARA CADA VALOR CO LOS DEMAS…PARA GUARDAR LA FRECUENCIA DE CADA UNO
  24. comparador = a[i];
  25. for (j=0;j<largo;j++) {
  26. if (a[j]==comparador) {
  27. frec[i]=frec[i]+1;
  28. }
  29. }
  30. comparador = -1; //ES IMPORTANTE LIMPIAR EL COMPARADOR DESPUES DE CADA CICLO
  31. }
  32.  
  33. for (i=0;i<largo;i++) { //SE COMPARAN LAS FRECENCIAS GUARDANDO SIEMPRE LA MAYOR DE ELLAS
  34. if (frec[i]<mayor) {
  35. mayorfrec=frec[i];
  36. mayor=a[i];
  37. }
  38. else if (mayor!=a[i])
  39. }
  40. printf("\n El numero menos repetido: %i, repite %i veces", mayor,mayorfrec);
  41.  
  42. return 0;
  43. }


Mod: Los códigos deben ir en etiquetas GeSHi


Título: Re: obtener el numero que menos se repite en un arreglo
Publicado por: valarauko en 18 Noviembre 2016, 21:47 pm
Podrias hacer un vector auxiliar con todos los numeros y con un contador dentro despues buscas el menor desde ahi.


Título: Re: obtener el numero que menos se repite en un arreglo
Publicado por: ivancea96 en 19 Noviembre 2016, 12:55 pm
Tienes:
Código
  1. if (frec[i]<mayor)
Sin embargo, mayor la inicializas a 0. Inicializarla a 0 sirve para buscar el más repetido. Si quieres buscar el menos repetido, prueba inicializando mayor a 'largo' (que es el valor máximo que podría tener)