- Mitglied seit
- 31.10.2004
- Beiträge
- 289
- Reaktionen
- 0
Hallo,
das folgende Programm soll ein Wort von der Konsole einlesen und prüfen, ob es ein Palindrom ist. Dummerweise gibt es immer FALSE aus, obwohl ich keinen Fehler finden kann
Ausgabe:
das folgende Programm soll ein Wort von der Konsole einlesen und prüfen, ob es ein Palindrom ist. Dummerweise gibt es immer FALSE aus, obwohl ich keinen Fehler finden kann
Code:
// palindrome erkennen
#include <iostream>
#include <string>
using namespace std;
string string_reverse(string a)
{
string rev;
int len = a.size();
for(int i = 0; i < len; i++) {
rev += a[len - i - 1];
cout << i << ": " << a[len - i - 1] << endl;
}
return rev;
}
int main(int argc, char* argv[])
{
string input;
if(argc == 1) {
cout << "USAGE: " << argv[0] << " <word to check>" << endl;
return 0;
}
else
input = argv[1];
string reverse = string_reverse(input);
cout << "reverse = '" << reverse << "'" << endl;
cout << "input = '" << input << "'" << endl;
cout << ((input == reverse) ? "TRUE" : "FALSE") << endl;
return 0;
}
Ausgabe:
Code:
$ ./palindrom w
reverse = 'w'
input = 'w'
FALSE
$ ./palindrom ewe
reverse = 'ewe'
input = 'ewe'
FALSE
$ ./palindrom test
reverse = 'tset'
input = 'test'
FALSE

