Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/11/2014, 13:33
Madh
 
Fecha de Ingreso: octubre-2013
Mensajes: 44
Antigüedad: 10 años, 5 meses
Puntos: 5
Respuesta: Petando la pila. Problemas y retos usando recursividad.

Una forma muy divertida de dominar la recursividad

El primer problema es bastante sencillito, aquí va mi soución:

Código C:
Ver original
  1. #include <stdio.h>
  2.  
  3. /* más codigo si hace falta */
  4.  
  5. int contarNegativos(int arr[], int n) {
  6.     /* Escribir código */
  7.  
  8.     if (n>0){
  9.         if (arr[n] < 0)
  10.             return 1 + contarNegativos(arr, n-1);
  11.         else
  12.             return 0 + contarNegativos(arr, n-1);
  13.     }
  14.    
  15.     else
  16.         return 0;
  17. }
  18.    
  19. int main (void) {
  20.     int arr[] = {1, 4, -3, 2, -1, -8, 0, 1};
  21.     int n = sizeof arr / sizeof *arr;
  22.  
  23.     /* calcular cantidad de negativos */
  24.     int cantidad = contarNegativos(arr, n);
  25.     /* mostrar cantidad de negativos */
  26.     printf("%d\n", cantidad);
  27.     return 0;
  28. }

Respecto al segundo, pues no tengo ni idea. ¿De verdad se puede implementar con dos parámetros sin pasarle también el tamaño de la cadena original?

Saludos