vincegeratorix

varias funciones recursivas en C version2

Dec 17th, 2011
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.47 KB | None | 0 0
  1. #include <stdio.h>
  2. #define N 10
  3.  
  4.  
  5. int llenar(int a[], int n);
  6. int buscar(int A[], int n, int buscando);
  7. int repeticion(int A[], int n, int buscando);
  8. int imprimir(int a[], int n);
  9. int main()
  10. {
  11.     int A[N]; //dejé el arreglo dentro del main porque se pasa automáticamente por referencia
  12.     int y;
  13.     int x=-2;
  14.     int buscando;
  15.     llenar(A, N-1);
  16.     printf("Ingrese el numero a buscar: ");
  17.     scanf("%d", &buscando);
  18.     x=buscar(A, N-1, buscando);
  19.     if(x==-1)
  20.              printf("No esta el numero que busca\n");
  21.     else
  22.         printf("El numero que busca esta en la pos %d\n", x);
  23.     y=repeticion(A, N-1, buscando);
  24.     printf("%d aparece %d veces\n", buscando, y);
  25.     imprimir(A, N-1);
  26.     return 0;
  27. }
  28. int llenar(int a[], int n)
  29. {
  30.      printf("Ingrese el numero en la pos %d: ", n);
  31.      scanf("%d", &a[n]);
  32.      if(n==0)
  33.              return 0;
  34.      else
  35.          return llenar(a, n-1);
  36. }
  37.  
  38. int buscar(int A[], int n, int buscando)
  39. {
  40.     if(A[n]==buscando)
  41.      return n;
  42.     else if(n==0)
  43.          return -1;
  44.     else
  45.         return buscar(A, n-1, buscando);
  46. }
  47.  
  48. int repeticion(int A[], int n, int buscando)
  49. {
  50.     static int cont=0;
  51.     if(A[n]==buscando)
  52.         cont++;
  53.     if(n==0)
  54.         return cont;
  55.     else return repeticion(A, n-1, buscando);
  56. }
  57. int imprimir(int a[], int n)
  58. {
  59.      printf("El numero en la pos %d es: %d\n", n, a[n]); //acá le cambié a "a" minuscula
  60.      if(n==0)
  61.              return 0;
  62.      else
  63.          return imprimir(a, n-1);
  64. }
Advertisement
Add Comment
Please, Sign In to add comment