Hello guys! This is a code in C to check if two strings are anagrams. If anyone has got a better solution, you are welcome to give the solution here.
#include
void anagrams(char A[10], char B[10])
{
int lenA, lenB;
int x, y, ted, check = 1;
int i, j, k;
int ch_nA, ch_nB;
char ch;
int det[5];
int d = 0;
for(i = 0; i < 5; i++) {
det[i] = 0;
}
for(lenA = 0; A[lenA] != ‘\0’; lenA++);
//for(lenB = 0; B[lenB] != ‘\0’; lenB++);
i = 0;
if(A[lenA] == ‘\0’ && B[lenA] == ‘\0’) {
while(A[i] != ‘\0’) {
//printf(“Det\n”);
ch = A[i];
ch_nA = 0;
ch_nB = 0;
for(j = 0; A[j] != ‘\0’; j++) {
if(ch == A[j]) {
ch_nA++;
det[d] = j;
d++;
}
}
for(x = 0; B[x] != ‘\0’; x++) {
if(ch == B[x]) {
ch_nB++;
}
}
if(ch_nA != ch_nB) {
printf(“NOT Anagram!\n”);
ted = 1;
check = 0;
break;
}
i++;
for(k = 0; k < 5; k++) {
if(i == det[k])
i++;
}
}
}
else
printf(“NOT Anagrams!”);
if(ted != 1 && (A[lenA] == ‘\0’ && B[lenA] == ‘\0’)) {
printf(“Anagrams\n”);
}
}
int main()
{
int lenA, lenB;
char A[10], B[10];
scanf(“%s”, &A);
scanf(“%s”, &B);
anagrams(A, B);
return 0;
}