Witam, zmagam się z tym zadaniem maturalnym, kompletnie nie mam pomysłu jak do niego podejść. Liczę na pomoc.
W pliku slowa.txt znajduje się 1000 słów, a w pliku nowe.txt znajduje się 25 słów. W obu plikach wszystkie słowa składają się z małych liter alfabetu łacińskiego. Żadne z tych słów nie ma więcej niż 12 znaków, a każde jest zapisane w osobnym wierszu. Napisz program, który da odpowiedzi do poniższych zadań. Każdą odpowiedź zapisz w pliku wynik5.txt i poprzedź ją numerem oznaczającym zadanie.
Dla każdego słowa z pliku nowe.txt wypisz to słowo oraz dwie liczby rozdzielone spacją oznaczające: - liczbę wystąpień danego słowa w pliku slowa.txt, - liczbę wystąpień odbicia lustrzanego danego słowa w pliku slowa.txt. Uwaga: Na przykład dla słowa „mapa” odbiciem lustrzanym słowa jest „apam”. Słowo jednoliterowe jest samo dla siebie lustrzanym odbiciem.
Oto mój kod, nie ma w nim zbyt wiele, bo tak jak wspominałem mam problem z rozgryzieniem tego zadania:
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
fstream plik, plik1;//zmienna plikowa
string a,b;
int licz=0;
int liczw=0;
int main()
{
plik.open("nowe.txt", ios::in);
plik1.open("slowa.txt", ios::in);
while(!plik.eof()){
plik>>a;
for(int i=0; i<=1000; i++)
{
plik1>>b;
if(a==b) licz++;
for(int i= b.length()-1;i>=0;i--)
{
if(a==b[i]])liczw++;
}
cout<<" "<<licz<<" "<<liczw<<endl;
}
}
plik.close();
plik1.close();
system ("pause");
return 0;
}
Z góry dziękuję za pomoc