Programmierquiz
-
Ganz im Zeichen des Palindroms
Wo liegt hier der Fehler
#include <stdio.h> #include <conio.h> const unsigned char EscapeCode = 27; const unsigned char ReturnCode = 13; const unsigned int MaxStrLen = 200; const unsigned int MaxStrLen_1 = MaxStrLen+1; typedef char TEditStr[MaxStrLen_1]; TEditStr InputStr = "", Buffer1, Buffer2; void Stop() { printf("\n Beenden: Escape-Taste druecken oder auf den x-Button klicken."); do {} while (getch()!=EscapeCode); } int main() { unsigned int StrLen; unsigned int i; bool String_ist_Palindrom = true; printf("\n Bitte den zu testenden String eingeben.\n > "); scanf("%s", InputStr); i=0; while (Buffer1[i] != 0) i++; StrLen = i; for (i=0; i < StrLen; i++) Buffer2[i] = Buffer1[StrLen-1-i]; // Reihenfolge der Zeichen umkehren <-- genial was ;-d Buffer2[StrLen] = Buffer1[StrLen]; if (InputStr[0] != 0) { for (i=0; i <= StrLen/2; i++) { if (Buffer1[i] != Buffer2[i]) { String_ist_Palindrom = false; break; } } if (String_ist_Palindrom) printf("\n Der String ist ein Palindrom."); else printf("\n Der String ist kein Palindrom."); printf("\n\n Buffer1: %s", &Buffer1[0]); printf("\n Buffer2: %s\n", &Buffer2[0]); } else printf("\n Es hab nichts zu testen."); Stop(); return 0; }
-
XFlorian schrieb:
Wo liegt hier der Fehler
Das Fehler liegt darin, dass du in einem char-Array, in den du nie etwas reingeschrieben hast, nach einer Stringendemarkierung suchst. Kennst du eigentlich strlen?
XFlorian schrieb:
// Reihenfolge der Zeichen umkehren <-- genial was ;-d
Das ist hoffentlich nicht dein Ernst.
-
Hmm dann probier doch mal es dann so wie du meinst zu kompilieren und vor allem überprüf mal obs dann auch wie geünscht funktioniert.
-
Sag mal: Was wird das hier eigentlich?
-
soll nur ein einfaches Quiz sein
-
XFlorian schrieb:
soll nur ein einfaches Quiz sein
Wage ich zu bezweifeln. Du versuchst nur geschickt zu verbergen, dass wir hier ein fehlerhaftes Programm, dass du für Schule/Uni/Wasauchimmer bis morgen fertig haben musst, für dich korrigieren sollen.
-
XFlorian schrieb:
Hmm dann probier doch mal es dann so wie du meinst zu kompilieren und vor allem überprüf mal obs dann auch wie geünscht funktioniert.
Hab ich. Klappt hervorragend
Sind auch nur 11 Zeilen :p