/**
 *   Løsning til eksamen i OOProg (i C++), mai 2026, oppgave 1B.
 *
 *   @file     EX_V26_1B.CPP
 *   @author   Frode Haug, NTNU
 */


#include <iostream>
#include <string>
#include <vector>
#include <list>
#include <algorithm>
#include <cctype>
using namespace std;


int main()  {
  string str, str2 = "Dette er verdens fineste, enkleste og beste tekst!";
  vector <char> txt;
  list <char>  txt2;
  int n = 0;

  cout << count(str2.begin(), str2.end(), 'e') << '\n';

  for (int i = 0;  i < str2.length();  i++)
      txt.push_back(str2[i]);
  for (const auto & val : txt) cout << val;   cout << '\n';

  str = str2.substr(9, 8) + str2.substr(38, 5);  cout << str << '\n';

  auto it = txt.begin();
  while (it != txt.end()  &&  n < 12)  {
    if (*it != 'e'  &&  isalpha(*it))
       txt2.push_front(*it);
    it++;   n++;
  }
  for (const auto & val : txt2) cout << val;   cout << '\n';

  n = str2.find(str.substr(8, 5));
  cout << (n != string::npos ? n : -99) << '\n';

  return 0;
}


//  Utskrift:  13
//             Dette er verdens fineste, enkleste og beste tekst!
//             verdens beste
//             rvrttD
//             38
