El programa funciona a la perfeccion! Gracias a Eternal y a Engel por su ayuda.
Al final el problema estaba en my_strequ.
Saludos a todos
Al final el problema estaba en my_strequ.
Saludos a todos
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
#include "my_string.h"
int moderar(char** a, int j, char** b, int c)
{
int i,k,l,m,w=0,cant=0;
for(k=1; k<j; k++)
{
for(l=0;l<c;l++)
{
m=my_strequ(a[k],b[l]);
if (m==1)
{
w=my_strlen((a[k]));
int t=0;
for(t=0; t<w; t++)
{
a[k][t]='x';
}
}
}
cant+=w;
}
return cant;
}
int main (int argc, char* argv[])
{
char* palprob[TAM]; char auxi[30];
int i=0, nuevasx=0;
int tama, cantpalprob=0;
printf("\nIngresar hasta 10 palabras prohibidas a moderar (pulse ENTER si desea finalizar antes de llegar a 10 palabras):\n");
for (i=0;i<10 && *auxi!='\0';i++)
{
gets(auxi);
cantpalprob=i;
if (*auxi!='\0')
{
tama=my_strlen(auxi);
palprob[i] = (char*) calloc (tama+1,sizeof(char));
my_strcpy(palprob[i],auxi);
}
}
printf("Palabras prohibidas: ");
for(i=0; i<cantpalprob; i++)
printf("\n\t\t\t%s ", palprob[i]);
nuevasx+= moderar(argv, argc, palprob, cantpalprob);
printf("\nMensaje moderado: \n\t\t\t");
for(i=0; i<argc-1; i++)
printf("%s ", argv[i+1]);
printf("\n\nCantidad de caracteres modificados: %d \n\n",nuevasx);
return 0;
}
#include "my_string.h"
int moderar(char a[], int j, char b[])
{
int k=0,l=0,m=0,w=0,cant=0;
for(k=1; k<j; k++)
{
for(l=0;l<TAM;l++)
{
m=my_strequ( &a[k], &b[l]);
if (m=1)
{
w=my_strlen((&a[l]));
int t=0;
for(t=0; t<w; t++)
{
((a[l+t]))='x';
}
}
}
printf("que ***** cuenta: %d",w);
cant=w;
}
return cant;
}
int main (int argc, char* argv[])
{
char* palprob[TAM];
int i=0, nuevasx, q=argc;
printf("\nIngresar hasta 10 palabras prohibidas a moderar (pulse ENTER si desea finalizar antes de llegar a 10 palabras)\n");
do
{
palprob[i]= (char*)calloc(1, sizeof(char*));
gets(palprob[i]);
i++;
} while((i<10)&&(*(palprob[i-1])!='\0'));
nuevasx= moderar(argv, argc, palprob);
printf("\nMensaje moderado: \n");
for(i=0; i<argc-1; i++)
printf("%s ", argv[i+1]);
printf("\n\nCantidad de caracteres modificados: %d \n",nuevasx);
return 0;
}