Advertisement
pan7nikt

palindrom_bez_spacji

Mar 10th, 2020
333
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.06 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. string input;
  6. string bezSpacji;
  7. int i;
  8. int j = 0;
  9. string wyraz;
  10.  
  11. //rekurencyjna
  12. bool palindromf(int max, int min)
  13. {
  14.     if(wyraz[max] != wyraz[min]){return false;}
  15.     if(max<(wyraz.length()-1)/2){return true;}
  16.     else if(max >= (wyraz.length()-1)/2){return palindromf(max-1, min+1);}
  17. }
  18.  
  19. //normalna
  20. bool palindrom(int max, int min)
  21. {
  22.         while(i >= wyraz.length()/2)
  23.     {
  24.         //cout << "gorny: " << wyraz[i] << " dolny: " << wyraz[j] << endl;
  25.         if(wyraz[i] != wyraz[j]){return false;}
  26.         i--;
  27.         j++;
  28.     }
  29.     return true;
  30. }
  31.  
  32. main()
  33. {
  34.     cout << "Podaj wyraz: ";
  35.     getline(cin,input);
  36.     for(i=0;i<input.length();i++)
  37.     {
  38.         if(input[i]!=' '){bezSpacji+= input[i];}
  39.     }
  40.    
  41.     //for(i=0;i<bezSpacji.length();i++)
  42.     //{
  43.     //  cout << bezSpacji[i] << endl;
  44.     //}
  45.     //cin >> wyraz;
  46.    
  47.     wyraz = bezSpacji;
  48.     //cout << "Wyraz: " << wyraz << endl;
  49.    
  50.     j=0;
  51.     i=wyraz.length() - 1;
  52.     cout << "Rekurencyjnie: " << palindromf(i,j) << endl;
  53.     j=0;
  54.     i=wyraz.length() - 1;
  55.     cout << "Iteracyjnie: " << palindrom(i,j) << endl;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement