Napisz program, który określi czy wczytany z pliku do tablicy ciąg jest palindromem tekstowym. Podaj złożoność obliczeniową stworzonego przez siebie algorytmu.
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
string linia;
fstream plik;
int *tablica;
int ile;
cin>>ile;
tablica=new int[ile];
plik.open("palindromy.txt", ios::in);
if(plik.good() == true)
{
while(!plik.eof())
{
getline(plik, linia);
cout << linia << endl;//wyświetlenie linii
}
}
else cout<<"Plik jest bad";
int temp;
for(int i = 0; i < ile && plik >> temp; ++i) // (1)
{
tablica[i] = temp; // (2)
cout<<tablica[i];
}
plik.close();
int i=0;
int j=ile-1;
while(i<j)
{
if(tablica[i]==tablica[j])
{
i++;
j--;
}
else break;
}
cout<<endl;
if(i<j) cout<<"To nie jest palindrom"<<endl;
else cout<<"To jest palindrom"<<endl;
return 0;
}
Próbowałam robić to w ten sposób, ale gdy wpisałam do pliku słowo kajak które jest palindromem program wyświetlał mi i tak to nie jest palindrom. I w jaki sposób mam podać złożoność obliczeniową algorytmu?