/**
 *   Løsning til eksamen i OOProg (i C++), august 2026, oppgave 1B.
 *
 *   @file     EX_S26_1B.CPP
 *   @author   Frode Haug, NTNU
 */


#include <iostream>
#include <vector>
#include <map>
#include <algorithm>
using namespace std;


int main()  {
  vector <int> tall  {  29, 6, 22, 7, 17  };
  vector <int> tall2 (3, 4);
  map <char, int> hvem;

  hvem['F'] = tall[1];    hvem['S'] = tall[3];    hvem['M'] = tall[0];
  hvem['I'] = tall[2];    hvem['A'] = tall[4];

  cout << tall.size() << ' ' << tall2.size() << ' ' << hvem.size() << '\n';

  for (auto const & val : hvem)
      cout << val.first << '-' << val.second << ' ';    cout << '\n';

  auto it = hvem.begin();
  while (it != hvem.end())
    cout << (it++)->first << ' ';   cout << '\n';

  for (int i = 0;  i < tall2.size();  i++)
      tall.push_back(tall2[i]);
  for (int i = 0;  i < tall.size();  i++)
      cout << tall[i] << ' ';     cout << '\n';

  sort(tall.begin(), tall.end());
  auto it2 = unique(tall.begin(), tall.end());
  tall.erase(it2, tall.end());
  for (auto const & val : tall)
      cout << val << ' ';    cout << '\n';

  return 0;
}


//  Utskrift:  5 3 5
//             A-17 F-6 I-22 M-29 S-7
//             A F I M S
//             29 6 22 7 17 4 4 4
//             4 6 7 17 22 29
