How to print the smallest palindrome words in a string with C++

2 Answers

0 votes
#include <iostream>
#include <sstream>
#include <climits>
  
void PrintSmallestPalindromeWord(std::string str) {
    std::istringstream ss(str);
    std::string word; 
    size_t min = INT_MAX;
    std::string minword;
    
    while (ss >> word) {
        std::string rev_word(word.rbegin(), word.rend());
        int wordlen = word.size();
        if (word == rev_word && wordlen >= 3) {
            if (wordlen < min) {
                min = wordlen;
                minword = word;
            }
        }
    }
    
    std::cout << minword << "\n";
}
    
  
int main()
{
    std::string str = "c madam c++ civic java rotator pytyp dart php";
      
    PrintSmallestPalindromeWord(str);
}
  
  
  
  
/*
run:

php
     
*/

 



answered Dec 29, 2023 by avibootz
0 votes
#include <iostream>
#include <sstream>
#include <climits>
  
std::string GetTheSmallestPalindromeWord(std::string str) {
    std::istringstream ss(str);
    std::string word; 
    size_t min = INT_MAX;
    std::string minword;
    
    while (ss >> word) {
        std::string rev_word(word.rbegin(), word.rend());
        int wordlen = word.size();
        if (word == rev_word && wordlen >= 3) {
            if (wordlen < min) {
                min = wordlen;
                minword = word;
            }
        }
    }
    
    return minword;
}
    
  
int main()
{
    std::string str = "c madam c++ civic java rotator pytyp dart php";
      
    std::string minword = GetTheSmallestPalindromeWord(str);
    
    
    std::cout << minword << "\n";
}

  
  
/*
run:

php
     
*/

 



answered Dec 29, 2023 by avibootz

Related questions

1 answer 144 views
2 answers 155 views
1 answer 116 views
1 answer 157 views
3 answers 185 views
2 answers 175 views
1 answer 124 views
...