Tema: vectores
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/07/2011, 11:32
sam90
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: vectores

Mira el principal problema es que la variable n la tienes mal definida. Deberias pasarla por argumento a las demas funciones. Y no con un define como hiciste.

Si uqeres usar un define entonces no podes pedir la cantidad de elementos. Quedaria fijo para toda las ejecuciones del programa.

Mira como lo cambie un poco:


Código C++:
Ver original
  1. #include <iostream>
  2. #include <fstream>
  3. #include <stdlib.h>
  4. #include <stdio.h>
  5. #include <string>
  6. #include <vector>
  7. #include <math.h>
  8.  
  9. using namespace std;
  10.  
  11.  
  12. int creacion(int n , int v[]);
  13. int busqueda(int n ,int y,int v[]);
  14. int main(void);
  15.  
  16. int creacion(int n , int v[])
  17. {
  18. int x,i;
  19.  
  20. for(i=0; i<=n; i++)
  21. {
  22. cout<<"Introduzca el elemento"<<i<<endl;
  23. cin>>x;
  24. v[i]=x;
  25. }
  26.  
  27. }
  28.  
  29. int busqueda(int n , int y,int v[])
  30. {
  31. int contador,i;
  32.  
  33. contador=0;
  34. for (i=1 ; i<=n ; i++)
  35. {
  36. if(v[i]==y)
  37. {
  38. contador=contador+1;
  39. }
  40. else
  41. {
  42. contador=contador;
  43. }
  44. }
  45. return contador;
  46. }
  47.  
  48. int main(void)
  49. {
  50. int y,res,n;
  51. cout<<"Cuantos elementos tenemos?"<<endl;
  52. cin >>n;
  53.  
  54. int v[n];
  55. creacion(n,v);
  56. cout<<"Que elemento desea contar?"<<endl;
  57. cin>>y;
  58. res=busqueda(n,y,v);
  59. cout<<"El resultado es"<<res<<endl;
  60. system ("pause");
  61. return 0;
  62. }