Name:
Anonymous
2007-05-11 16:50
ID:tCgeez6Q
I receive a string, and I want to remove any 'a', 'b' and 'c' characters, in a recursive way.
How do I do this in C and Java?
Thanks
Name:
Anonymous
2007-05-11 19:19
ID:bLm7QA6k
#include <stdio.h>
char *removeCharacters(char *string,char removeMe)
{
int i = 0;
int length = 0;
static long firstTime = 1;
int somethingChanged = 0;
for(length = 0;string[length]!='\0';length++){}
char *newString = malloc(sizeof(char) * length-1);
for(i=0;i<length+1;i++)
{
if(somethingChanged!=1)
{
if(string[i]!=removeMe)
newString[i]=string[i];
else
{
somethingChanged = 1;
}
}
else
{
newString[i-1]=string[i];
}
}
if(firstTime)
{
firstTime = 0;
}
else if(somethingChanged)
{
free(string);
}
if(somethingChanged==1)
return removeCharacters(newString,removeMe);
else
return string;
}
int main(int argc,char *argv[])
{
char lolWut[] = "BBAAAABBBAA";
printf("%s\n",lolWut);
printf("%s\n",removeCharacters(lolWut,'A'));
printf("%s\n",lolWut);
return 0;
}