fork(4) download
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <sstream>
  5. #include <string>
  6.  
  7. using namespace std;
  8.  
  9. vector <string> loadWordsToVector(string textToLoad) {
  10. vector <string> textVector;
  11.  
  12. istringstream iss(textToLoad);
  13. string singleWord;
  14. while (iss >> singleWord) {
  15. textVector.push_back(singleWord);
  16. }
  17. return textVector;
  18. }
  19.  
  20. void showVectorData(vector <string> someVector) {
  21. for( int i = 0; i < someVector.size(); i++ ) {
  22. cout << someVector[ i ] << endl;
  23. }
  24. }
  25.  
  26. vector <string> putMissedWordsInVector(vector <string> originalSongText, vector <string> writtenSongText) {
  27.  
  28. vector <string> missedWordsVector;
  29.  
  30. while(originalSongText.size()!=0) {
  31. if(originalSongText.front()==writtenSongText.front()) {
  32. originalSongText.erase(originalSongText.begin());
  33. writtenSongText.erase(writtenSongText.begin());
  34. } else {
  35. missedWordsVector.push_back(originalSongText.front());
  36. originalSongText.erase(originalSongText.begin());
  37. }
  38. }
  39. return missedWordsVector;
  40. }
  41.  
  42. void showMissedWords(vector <string> missedWordsVector) {
  43.  
  44. cout << missedWordsVector.size() << endl;
  45.  
  46. if(missedWordsVector.size()>0) {
  47. sort(missedWordsVector.begin(), missedWordsVector.end());
  48. showVectorData(missedWordsVector);
  49. }
  50. }
  51.  
  52. int main() {
  53. string originalText;
  54. string writtenText;
  55. getline(cin,originalText);
  56. getline(cin,writtenText);
  57. vector <string> originalSongText = loadWordsToVector(originalText);
  58. vector <string> writtenSongText = loadWordsToVector(writtenText);
  59. showMissedWords(putMissedWordsInVector(originalSongText,writtenSongText));
  60. return 0;
  61. }
  62.  
Success #stdin #stdout 0s 15256KB
stdin
JOLKA JOLKA PAMIETASZ LATO ZE SNU
JOLKA ZE SNU
stdout
3
JOLKA
LATO
PAMIETASZ