Pages

Anagram in C

Friday 28 June 2013
Anagram c: C program to check whether two strings are anagrams or not, it is assumed that only the string alphabets. Two words are anagrams of each other, is removed when the letters of a word, re-form. 'S another word above definition shows that two strings anagrams that all the characters of the two strings as often. For example, "abc" and "cab" an anagram strings, here each character 'a', 'b' and 'c' only once in the two strands occur. Our algorithm tries to find out how many characters appear in the string and then compare their corresponding counts.

#include <stdio.h>

int check_anagram(char [], char []);
int main()
{
   char a[100], b[100];
   int flag;

   printf("Enter first string\n");
   gets(a);

   printf("Enter second string\n");
   gets(b);

   flag = check_anagram(a, b);
   if (flag == 1)
      printf("\"%s\" and \"%s\" are anagrams.\n", a, b);
   else
      printf("\"%s\" and \"%s\" are not anagrams.\n", a, b);
   return 0;
}
int check_anagram(char a[], char b[])
{
   int first[26] = {0}, second[26] = {0};
   int c = 0;
   while (a[c] != '\0')
   {
      first[a[c]-'a']++;
      c++;
   }
   c = 0;
   while (b[c] != '\0')
   {
     second[b[c]-'a']++;
      c++;
   }
    for (c = 0; c < 26; c++)

  {
      if (first[c] != second[c])
         return 0;
  }

 return 1;
}

No comments:

Post a Comment