Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] porque no me funciona bien esta funcion en c?

Estas en el tema de porque no me funciona bien esta funcion en c? en el foro de C/C++ en Foros del Web. hacer una función que permita determinar la cantidad de veces que se repite un valor en un vector codigo @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C: Ver original ...
  #1 (permalink)  
Antiguo 27/08/2013, 19:38
 
Fecha de Ingreso: septiembre-2010
Mensajes: 101
Antigüedad: 13 años, 7 meses
Puntos: 0
porque no me funciona bien esta funcion en c?

hacer una función que permita determinar la cantidad de veces que se repite un valor en un vector

codigo
Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <Windows.h>
  4. #define MAX 5
  5.  
  6. void miFuncion(int v[MAX]);
  7. int main()
  8. {
  9. int miVector[MAX] = {1,1,1,5,5};
  10. miFuncion(miVector);
  11. system("pause");
  12. return 0;
  13. }
  14.  
  15. void miFuncion(int v[MAX])
  16. {
  17. int i=0;
  18. int j=0;
  19. int aux = 0;//como contador lo uso
  20.  
  21. for ( i ; i<MAX;i++)
  22. { aux=0;
  23.  
  24. for (j;j<MAX;j++)
  25. {
  26. if ( v[j]==v[i])
  27. aux++;
  28. }
  29. printf("%i este numero se repite: %d veces\n",v[i],aux);
  30.  
  31. }
  32. }



NOSE QUE ES LO QUE PASA

LO QUE HAGO ES COMPARAR

pero lo que sale es esto

1 se repite 3 veces (este esta bien, pero el resto,,)
1 se repite 0 veces
1 se repite 0 veces
5 se repite 0 veces
5 se repite 0 veces


asi es, solo el primero cuenta bien


YA LO HICE

tenia que reiniciar la j para que vuelva a cero..

lo dejo modificado por si alguien lo necesita

Código C:
Ver original
  1. void miFuncion(int v[MAX])
  2. {
  3.     int i=0;
  4.     int j=0;
  5.     int aux = 0;//como contador lo uso
  6.  
  7.      for ( i ; i<MAX;i++)
  8.     {    aux=0;
  9.        
  10.      for (j ; j<MAX; j++)
  11.          {
  12.           if ( v[j]==v[i])
  13.             aux++;
  14.           }
  15.      j= 0;
  16.      printf("%i este numero se repite: %d  veces\n",v[i],aux);
  17.  
  18.      }
  19. }

Última edición por eke_ps; 27/08/2013 a las 19:44

Etiquetas: automatico, ejercicio, funcion, similar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:21.