// Copyright 2021 Jeisson Hidalgo CC-BY 4.0 #include #include #include // TODO(you): use for convenience or remove this procedure void say(const std::string& text) { std::ostringstream buffer; buffer << omp_get_thread_num() << "/" << omp_get_num_threads() << ": " << text << std::endl; std::cout << buffer.str(); } int main(int argc, char* argv[]) { const int thread_count = argc >= 2 ? atoi(argv[1]) : omp_get_max_threads(); std::string word; // TODO(you): First task: read and print first word of the sentence std::cin >> word; std::cout << word; // TODO(you): Second task: shuffle remaining words of the sentence while (std::cin >> word) { std::cout << ' ' + word; } // TODO(you): Third task: finish the sentence std::cout << '.' << std::endl; }