Zadanie zaliczeniowe z C++:
---------------------------

Napisać szablon "słownik" dla programu sprawdzającego, czy w dwóch
plikach tekstowych występują te same słowa w tej samej liczności
(kolejność słów jest bez znaczenia).

Program wykorzystuje szablon słownika przechowując słowa i ich liczności.

Jeśli pliki się różnią, to program wylicza różnicę symetryczną z obu plików
tekstowych i wypisuje plik wynikowy. W pliku wynikowym te same słowa
rozdzielane są znakami spacji, a kolejne grupy słów rozdzielane są znakami
przejścia do nowego wiersza.

Przykład:

 plikA: 
   ala basia\n
   ala basia ala\n
   ala

 plikB:
   ala ala ala

 wynik:
   ala\n
   basia basia

A oto treść programu, z którym ma współpracować Państwa szablon:

int main(int argc, char* argv[]) {

  // sprawdzenie parametrów wywolania programu
  if (argc != 3) {
    cerr << "Wywołanie: sprawdz <plikA> <plikB>\n";
    return 0;
  };

  // otwarcie plików wejściowych
  ifstream plikA(argv[1]);
  ifstream plikB(argv[2]);

  // sprawdzenie błędu otwarcia plików wejściowych
  if (plikA.fail() || plikB.fail()) {
    cerr << "Błąd otwarcia plików\n";
    return 0;
  };

  // zdefiniowanie słowników
  Dictionary<string, int> slownikA;
  Dictionary<string, int> slownikB;

  // wczytanie plików do odpowiednich słowników
  // w słowniku przechowujemy pary <slowo, liczność w pliku>
  plikA >> slownikA;
  plikB >> slownikB;

  // wyliczenie wyniku, czyli różnicy symetrycznej
  if (slownikA == slownikB) {
    cerr << "Pliki sa równe";
  }
  else {
    cout << (slownikA - slownikB) + (slownikB - slownikA);
  }

  return 1;

}

Powodzenia!