Necesito una idea para un ejercicio, no creo que sea demasiado complicado pero no logro dar con la tecla.
El ejercicio es el siguiente:
Dada una cadena del tipo abcdef, ingrese un carácter inicial y uno final cualesquiera, se devolverá la cantidad de caracteres intermedios.
Ejemplo: cadena abcdef, carácter inicial: b, carácter final d, cantidad de caracteres intermedios 1.
A continuación dejo el código en su versión iterativa:
Código C:
Ver original
#include <stdio.h> #include <conio.h> #include <string.h> int contar(char cad[20], char ci, char cf); void main() { char cad[20]; char ci; char cf; int caracs; caracs = contar(cad, ci, cf); } int contar(char cad[20], char ci, char cf) { int i = 0; int bandera = 0; int contador = 0; while(cad[i] != cf ) { if(bandera == 1) { contador = contador + 1; } if(cad[i] == ci) { bandera = 1; } i++; } return(contador); }
¿Alguna idea para hacer esto mismo, pero sin usar una bandera y hacerlo mediante una función recursiva?