Before moving forward to write program to check whether two strings are anagram or not. We will discuss what actually anagrams are. Anagram is a form of word play in which letters of a word or phrase are rearranged in such a way that a new word or phrase is formed. Anagram is formed by using exactly the same letters of the original word but with a different arrangement.
For example : example is “silent” which can be rearranged to “listen”. And THE EYES is an anagram of THEY SEE. One simple approach to check whether two strings are anagram or not is to find how many times characters appear in the strings and then comparing their corresponding counts.
#include <stdio.h> // Header files
int anagram(char [], char []);
int main()
{
char a[100], b[100];
int x;
printf(“Enter 1st string\n“);
gets(a);
printf(“Enter 2nd string\n“);
gets(b);
x = anagram(a, b); // Calling the Function
if (x == 1)
printf(“\”%s\” and \”%s\” are anagrams.\n“, a, b);
else
printf(“\”%s\” and \”%s\” are not anagrams.\n“, a, b);
return 0;
}
int anagram(char a[], char b[])
{
int string1[26] = {0}, string2[26] = {0}, c = 0;
while (a[c] != ‘\0‘)
{
string1[a[c]-‘a’]++;
c++;
}
c = 0;
while (b[c] != ‘\0‘)
{
string2[b[c]-‘a’]++;
c++;
}
for (c = 0; c < 26; c++)
{
if (string1[c] != string2[c])
return 0;
}
return 1;
}
- MongoDB Operators Tutorial – What are Different Operators Available? - October 5, 2019
- MongoDB Projection Tutorial : Return Specific Fields From Query - March 9, 2019
- MongoDB Index Tutorial – Create Index & MongoDB Index Types - July 6, 2018