Ler uma palavra e apresentar a sua inversa pode ser uma tarefa relativamente simples, desde que cada um decida não complicar.
Vamos ver um primeiro exemplo:
#include
using namespace std;
int main()
{
string s, nova="";
cin >> s;
for(int i=0; i<s.length(); i++)
nova= s[i] + nova;
cout << nova << endl;
return 0;
}
Neste caso optamos por criar uma nova string contendo a palavra invertida. Simples e rápido!
Vamos agora considerar outro exemplo, partindo do princípio que desejamos fazer a troca das letras dentro da própria string. Por exemplo:
#include
#include
using namespace std;
int main()
{
string s;
cin >> s;
int p = s.length() - 1;
for(int i=0; i<s.length()/2; i++)
{
char t = s[i];
s[i] = s[p];
s[p] = t;
p--;
}
cout << s << endl;
return 0;
}
Ou até mesmo partindo do princípio que uma string não é mais do que um array de carateres, recorrendo à função reverse e tratando de tudo numa única linha:
#include
#include
using namespace std;
int main()
{
string s;
cin >> s;
reverse(s.begin(),s.end());
cout << s << endl;
return 0;
}
Claro que tudo isto já foi mais do que dito All over the Internet!
Então porque razão publico?
Trata-se apenas de uma desabafo. Alguém me entregou programas muito complexos para tentar resolver esta tarefa tão simples.