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
Post a Comment