1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. bool isAnagram(const string &s1, const string &s2);
  7.  
  8. int main ()
  9. {
  10. string one("god");
  11. string two("dog");
  12.  
  13. isAnagram(one,two);
  14. system("pause");
  15. return 0;
  16. }
  17.  
  18.  
  19. bool isAnagram(const string &s1, const string &s2)
  20. {
  21. int countsA[256];
  22.  
  23. for (int i = 0; i < 256; i++)
  24. {
  25. countsA[i] = 0;
  26. }
  27.  
  28. int iCountOne = s1.length();
  29. for (int i = 0; i < iCountOne; i++)
  30. {
  31. countsA[s1.at(i)]++;
  32. }
  33.  
  34. int sumOne = 0;
  35.  
  36. for (int i = 0; i < iCountOne; i++)
  37. {
  38. sumOne = sumOne + countsA[i];
  39. }
  40.  
  41. int countsB[256];
  42.  
  43. for (int i = 0; i < 256; i++)
  44. {
  45. countsB[i] = 0;
  46. }
  47. int iCountTwo = s2.length();
  48. for (int i = 0; i < iCountTwo; i++)
  49. {
  50. countsB[s2.at(i)]++;
  51. }
  52.  
  53. int sumTwo = 0;
  54.  
  55. for (int i = 0; i < iCountTwo; i++)
  56. {
  57. sumTwo = sumTwo + countsB[i];
  58. }
  59.  
  60. if (sumOne == sumTwo)
  61. {
  62. cout << "ANAGRAM";
  63. return true;
  64. }
  65. else
  66. {
  67. cout << "NOT ANAGRAM";
  68. return false;
  69. }
  70.  
  71. }