¡Saludos!
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;
printf("Ingrese una cadena \n"); printf("Ingrese el caracter inicial \n"); printf("Ingrese el caracter final \n");
caracs = contar(cad, ci, cf);
printf("LA CANT DE CARAC, ES %d", caracs
);
}
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?