Advertisement
chevengur

Вводный курс: основы C++ | Урок 3: Подводные камни map

Sep 4th, 2023
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.97 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6.  
  7. bool CheckAnagram(const string& s1, const string& s2) {
  8.     string ss1 = s1;
  9.     string ss2 = s2;
  10.     int len = s1.length();
  11.     int len2 = s2.length();
  12.  
  13.     if (len != len2) {
  14.         return false;
  15.     }
  16.  
  17.     std::sort(ss1.begin(), ss1.end());
  18.     std::sort(ss2.begin(), ss2.end());
  19.    
  20.     for (size_t i = 0; i < len; ++i) {
  21.         if (ss1[i] != ss2[i])
  22.             return false;
  23.     }
  24.     return true;
  25.  
  26. }
  27.  
  28. // напишем небольшую функцию для проверки
  29. void CheckIsTrue(bool value) {
  30.     if (value) {
  31.         cout << "Test passed :)"s << endl;
  32.     }
  33.     else {
  34.         cout << "Test failed :("s << endl;
  35.     }
  36. }
  37.  
  38. int main() {
  39.     CheckIsTrue(CheckAnagram("tea"s, "eat"s));
  40.     CheckIsTrue(!CheckAnagram("battle"s, "beatle"s));
  41.     CheckIsTrue(!CheckAnagram("lift"s, "elevator"s));
  42.     CheckIsTrue(CheckAnagram("ocean"s, "canoe"s));
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement