Program to check whether two input strings are anagram or not


#include<iostream>
using namespace std;
#include<conio.h>
void anagram(char str[20],char str1[20])
{
int l1=0;
int l2=0;
int j=0;
int r=0;
int a1=0;
int a2=0;
int c1=0;
int c2=0;
int count=0;
int c=0;
 while(str[j]!='\0')
 {
 l1++;
 j++;
 }
  while(str1[r]!='\0')
 {
 l2++;
 r++;
 }
  while(c2<=l1)
 {
 if(str[c2]==' ')
 a1++;
 c2++;
 }
  while(c1<=l2)
 {
 if(str1[c1]==' ')
 a2++;
 c1++;
 }

 if((l1-a1)==(l2-a2))
 {
                 
for(int i=0;i<l1;i++)
{
for(int j=0;j<l2;j++)
{
if(str[i]==str1[j])
{
for(int k=1;k<l2-j;k++)
{
if(str[i]==str1[j+k])
continue;
}
str[i]='*';
count++;
}
}
}
if(count-a1==l1-a1 && count-a1==l2-a2)
cout<<"It is Anagram\n";
else
cout<<"Not an Anagram\n";
}

else
cout<<"Not an Anagram\n";
 }
int main()
{
char s1[20],s2[20];
cout<<"Enter strings\n";

gets(s1);
gets(s2);
anagram(s1,s2);
getch();
}

This program has complexity >O(n^2)

Comments

Popular posts from this blog

Tricky Questions or Puzzles in C

Program to uncompress a string ie a2b3c4 to aabbbcccc

Number series arrangement puzzles