Program to find anagram with in a given dictionary - C++
Here is the code :
Thanks
Another method to do the same using prime number.
#include <iostream> #include <conio.h> #include <string> using namespace std; void main() { string dictionary[] = { "duplicate", "licdupate", "duplteica", "catedupli", "plicduate", "patelicdu", "duplicata", "duplacate" }; char *search = "duplicate"; const int kElem = 8; int len = strlen(search); for (int index = 0; index < kElem; ++index) { const char *text = dictionary[index].c_str(); int textLen = strlen(text); int result = 0; if (textLen == len) { for (int charIndex = 0; charIndex < len; ++charIndex) { result ^= (search[charIndex] ^ text[charIndex]); } } else { result = -1; } if (result == 0) { cout << index + 1 << ". '" << text << "' is anagram to " << search << endl; } else { cout << index + 1 << ". '" << text << "' is not anagram to " << search << endl; } } _getch(); }
Thanks
Another method to do the same using prime number.
Comments
Post a Comment