Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,987 questions

51,931 answers

573 users

How to get the middle words of a string in C++

1 Answer

0 votes
#include <iostream>
#include <sstream>
#include <vector>
#include <cmath>

std::string getMiddleWords(const std::string& str) {
    std::istringstream iss(str);
    std::vector<std::string> wordsArr;
    std::string word;

    while (iss >> word) {
        wordsArr.push_back(word);
    }

    size_t numWords = wordsArr.size();

    if (numWords % 2 == 0) {
        std::string middle1 = wordsArr[floor(numWords / 2) - 1];
        std::string middle2 = wordsArr[floor(numWords / 2)];
        return middle1 + " " + middle2;
    } else {
        std::string middle_minus_1 = wordsArr[floor(numWords / 2) - 1];
        std::string middle = wordsArr[floor(numWords / 2)];
        std::string middle_plus_1 = wordsArr[floor(numWords / 2) + 1];
        return middle_minus_1 + " " + middle + " " + middle_plus_1;
    }
}

int main() {
    std::string str = "c++ c java php c# python rust";
    
    std::cout << getMiddleWords(str) << std::endl;
}


/*
run:

java php c#

*/

 



answered Oct 8, 2024 by avibootz

Related questions

2 answers 661 views
1 answer 143 views
1 answer 78 views
1 answer 93 views
1 answer 85 views
1 answer 90 views
...