Necesito ayuda para depurar esto
include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <conio.h>
int main()
{
int longitud(char *cadena);
{
int i;
for(i=0; ;i++)
if(cadena[i]=='\0')
break;
return i;
}
int posicion(char *cadena, char *subcadena);
{
int i, j;
for(i=0; i<longitud(cadena); i++)
{
if(cadena[i]==subcadena[0])
{
if(longitud(cadena)-i < longitud(subcadena))
return -1;
for(j=0; j<longitud(subcadena); j++)
{
if(cadena[i+j]!=subcadena[j])
break;
}
if(j==longitud(subcadena))
return i;
}
}
return -1;
}
int reemplazar(char *cadena, char *subcadena, char *reemplazo);
{
int ocurrencias = 0;
int i, indice, posiciones, temp, l_cadena, l_subcadena, l_reemplazo;
l_cadena = longitud(cadena);
l_reemplazo = longitud(reemplazo);
l_subcadena = longitud(subcadena);
for(;;)
{
indice = posicion(cadena, subcadena);
if(indice==-1)
break;
else
{
for(i=indice; i<indice+l_reemplazo; i++)
cadena[i]=reemplazo[i-indice];
posiciones=l_subcadena-l_reemplazo;
if(posiciones>0)
for(temp=i; temp<=l_cadena; temp++)
cadena[temp]=cadena[temp+posiciones];
ocurrencias++;
}
}
return ocurrencias;
}
void main()
{
clrscr();
char *cadena="Hola esto es una prueba";
char *subcadena="es";
char *reemplazo="Z";
printf("Cadena original: %s\n", cadena);
printf("Buscar: %s\n", subcadena);
printf("Reemplazo: %s\n\n", reemplazo);
int temp=reemplazar(cadena, subcadena, reemplazo);
printf("Coincidencias: %d\n", temp);
printf("Cadena resultante: %s", cadena);
getch();
}
system("PAUSE");
return EXIT_SUCCESS;