Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

In C: How to fix the code to remove the char from the original string, not just

ID: 3826648 • Letter: I

Question

In C: How to fix the code to remove the char from the original string, not just print not equal character. To fix the code use somthing like strcpy(str,temp);

#include<stdio.h>      //Header Files

int main()
{
void rmchr(char[],char);       //Function Declaration String,Character passing into function

char s1[]= "abracadabra";       //s1 to abracadabra
char s2[]= "abracadabra";       //s2 to abracadabra
char s3[]= "abracadabra";       //s3 to abracadabra
char s4[]= "aaaa";           //s4 to aaaa
char s5[]= "aaaa";           //s5 to aaaa
  
printf("String Character Answer ");
printf("%s ",s1);            //Printing String Before Passing
rmchr(s1,'a');                //Passing String and Character to remove into rmchr function

printf("%s ",s2);           //Printing String Before Passing
rmchr(s2,'b');               //Passing String and Character to remove into rmchr function

printf("%s ",s3);           //Printing String Before Passing
rmchr(s3,'n');               //Passing String and Character to remove into rmchr function

printf("%s ",s4);           //Printing String Before Passing
rmchr(s4,'a');               //Passing String and Character to remove into rmchr function

printf("%s ",s5);           //Printing String Before Passing
rmchr(s5,'n');               //Passing String and Character to remove into rmchr function

return 0;
}

void rmchr(char str[],char ch)   //Function Definition
{
char *p;                       //Pointer Variable
p=&str[0];               //Storing address of First character of String in *p
printf("%c ",ch);            //Printing Character to remove
while(*p!='')               //Loop for iterating String
{
if(*p!=ch)
   {            //Checking if Character is not equal to each character
printf("%c",*p); //Prints that unequal character
}
p++; //Address Increment of *p
}

printf(" ");
}

Explanation / Answer

#include <stdio.h>      //Header Files
#include <string.h>
void rmchr(char[],char);       //Function Declaration String,Character passing into function

int main()
{
char s1[]= "abracadabra";       //s1 to abracadabra
char s2[]= "abracadabra";       //s2 to abracadabra
char s3[]= "abracadabra";       //s3 to abracadabra
char s4[]= "aaaa";           //s4 to aaaa
char s5[]= "aaaa";           //s5 to aaaa
  
printf("String Character Unmatched Character Answer ");
printf("%s ",s1);            //Printing String Before Passing
rmchr(s1,'a');                //Passing String and Character to remove into rmchr function
printf(" %s ",s2);           //Printing String Before Passing
rmchr(s2,'b');               //Passing String and Character to remove into rmchr function
printf(" %s ",s3);           //Printing String Before Passing
rmchr(s3,'n');               //Passing String and Character to remove into rmchr function
printf(" %s ",s4);           //Printing String Before Passing
rmchr(s4,'a');               //Passing String and Character to remove into rmchr function
printf(" %s ",s5);           //Printing String Before Passing
rmchr(s5,'n');               //Passing String and Character to remove into rmchr function
return 0;
}


void rmchr(char str[],char ch)   //Function Definition
{

   int i, j = 0;
   int size;
   char ch1;
   char str1[100];
   size = strlen(str);
  
   printf("%c ",ch);   //Printing Character to remove

   for (i = 0; i < size; i++) {
      if (str[i] != ch) {
   printf("%c",str[i]); //Prints that unequal character
         ch1 = str[i];
         str1[j] = ch1;
         j++;
      }
   }
   str1[j] = '';

printf(" %s",str1);
}