Ho questo codice che ho trovato,analizzato e modificato leggermente.Serve per controllare se una stringa è palindroma.
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
string s = "";
cout<<"Inserisci una stringa per vedere se e' palindrome"<<endl;
cin>>s;
bool palindroma = true;
for(int sx=0, dx=s.length()-1; sx<dx; sx++, dx--)
{
if(s[sx] != s[dx])
{
palindroma = false;
break;
}
}
if(palindroma)
cout<<"La stringa e' palindroma"<<endl;
else
cout<<"La stringa non e' palindroma"<<endl;
system("pause");
return 0;
}
Quel che non capisco è quando vado a confrontare il carattere in prima posizione con l'ultimo e poi il secondo col penultimo ecc.. Non capisco come fà a confrontare i caratteri se si stratta di una stringa e non un vettore di char.Anche qusta per caso è una proprietà intrinseca della classe stting? Potreste chiarirmi questo aspetto per favore?