#include<stdio.h>
#include<string.h>
int main()
{
int counter1 = {0, 0, 0, 0};
int counter2 = {0, 0, 0, 0};
char s1 = “String 1”;
char s2 = “String 2”;
int flag = 0;
for (int i = 0; strlen(s1); i ++)
{
if (s1[i] == ‘a’)
{
counter1[0]++;
}
else if (s1[i] == ‘b’)
{
counter1[1]++;
}
else if (s1[i] == ‘c’)
{
counter1[2]++;
}
else if (s1[i] == ‘d’)
{
counter1[3]++;
}
}
for (int i = 0; strlen(s2); i ++)
{
if (s2[i] == ‘a’)
{
counter2[0] ++;
}
else if (s2[i] == ‘b’)
{
counter2[1] ++;
}
else if (s2[i] == ‘c’)
{
counter2[2] ++;
}
else if (s2[i] == ‘d’)
{
counter2[3] ++;
}
}
for (int i = 0; i <4; i ++)
{
if (counter1[i] == counter2[i])
{
flag = 0;
}
else
{
flag = 1;
}
if (flag = 0)
{
printf(“Anagram!”);
}
else
{
printf(“Not Anagram!”);
}
}
}
I don’t know what’s wrong in this code guys if you find mistakes please let me know how to solve it.
if (flag = 0) dont make sense to me…
Purely for background…
Why is that man can you explain it.
#include<stdio.h>
#include<string.h>
int main()
{
int counter1 = {0, 0, 0, 0};
int counter2 = {0, 0, 0, 0};
char s1 = “dbb cccccaacb cdbababdcdcdab dcdad”;
char s2 = “bbbcc bdddccccad cdbbaaacaccdabdd”;
int flag = 0;
for (int i = 0; i < strlen(s1); i ++)
{
if (s1[i] == ‘a’)
{
counter1[0] ++;
}
else if (s1[i] == ‘b’)
{
counter1[1] ++;
}
else if (s1[i] == ‘c’)
{
counter1[2] ++;
}
else if (s1[i] == ‘d’)
{
counter1[3] ++;
}
}
for (int i = 0; i < strlen(s2); i ++)
{
if (s2[i] == ‘a’)
{
counter2[0] ++;
}
else if (s2[i] == ‘b’)
{
counter2[1] ++;
}
else if (s2[i] == ‘c’)
{
counter2[2] ++;
}
else if (s2[i] == ‘d’)
{
counter2[3] ++;
}
}
for (int j = 0; j < 4; j ++)
{
if (counter1[j] != counter2[j])
{
flag = 1;
break;
}
}
if (flag == 0)
{
printf(“Anagram!”);
}
else
{
printf(“Not Anagram!”);
}
}
Corrected code man found the issue thanks for your help i appreciate it.