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(" ");
  11. string two(" ");
  12.  
  13. cout << "ENTER FIRST WORD: " << '\n';
  14. cin >> one;
  15. cout << "ENTER SECOND WORD: " << '\n';
  16. cin >> two;
  17.  
  18. if(isAnagram(one,two))
  19. {
  20. cout << "ANAGRAM";
  21. }
  22. else
  23. {
  24. cout << "NOT ANAGRAM";
  25. }
  26. cout << endl;
  27. system("pause");
  28. return 0;
  29. }
  30.  
  31.  
  32. bool isAnagram(const string &s1, const string &s2)
  33. {
  34. int countsA[256];
  35. int countsB[256];
  36.  
  37. int iCountOne = s1.length();
  38. int iCountTwo = s2.length();
  39.  
  40. //set arrays to zero
  41. for (int i = 0; i < 256; i++)
  42. {
  43. countsA[i] = 0;
  44. countsB[i] = 0;
  45. }
  46.  
  47. for (int j = 0; j < iCountOne; j++)
  48. {
  49. countsA[j] = s1.at(j);
  50. }
  51.  
  52. int sumOne = 0;
  53.  
  54. for (int k = 0; k < iCountOne; k++)
  55. {
  56. sumOne += countsA[k];
  57. }
  58.  
  59. for (int l = 0; l < iCountTwo; l++)
  60. {
  61. countsB[l] = s2.at(l);
  62. }
  63.  
  64. int sumTwo = 0;
  65.  
  66. for (int m = 0; m < iCountTwo; m++)
  67. {
  68. sumTwo += countsB[m];
  69. }
  70.  
  71. if(sumOne == sumTwo)
  72. {
  73. return true;
  74. }
  75. else
  76. {
  77. return false;
  78. }
  79. }