How to print the characters need to be removed so that two strings become anagram in C

1 Answer

0 votes
#include <stdio.h>
#include <math.h>

#define TOTAL_ABC_LETTERS 26

void PrintCharactersNeedToBeRemovedForAnagram(char str1[], char str2[]) {
    int count1[TOTAL_ABC_LETTERS] = { 0 }, count2[TOTAL_ABC_LETTERS] = { 0 };

    // count char frequency str1
    for (int i = 0; str1[i] != '\0'; i++)
        count1[str1[i] - 'a']++;

    // count char frequency str2
    for (int i = 0; str2[i] != '\0'; i++)
        count2[str2[i] - 'a']++;

    for (int i = 0; i < TOTAL_ABC_LETTERS; i++)
        if (abs(count1[i] - count2[i]))
            printf("%2c", (char)(i + 'a'));

}

int main()
{
    char str1[] = "masterfx", str2[] = "ksampret";

    PrintCharactersNeedToBeRemovedForAnagram(str1, str2);
}




/*
run:

 f k p x

*/

 



answered Sep 27, 2022 by avibootz
...