CoconutKing
2008-03-27, 21:33:01
Als Aufgabe soll ich ein Paldindromtest machen.
Also z.B.:
Eingabe: Hannah oder reliefpfeiler
Ausgabe: Es ist ein Palindrom
Eingabe: hund
Ausgabe: es ist kein Palindrom
Das Programm läuft, nur nicht nach Vorgabe, diese war:
int isPalindrom(char line[])
{
int i;
int length;
....
}
Diese Grundgerüst soll man verwenden und keine weiteren lokalen variablen verwenden. das ist mein problem: ich brauch lokal noch ein char-array um das übergebene Array rückwärts abzuspeichern und dann beide array gegenläufig abzugleichen obs ein palindrom ist.
mir fällt keine lösung ein ohne das 2. lokal definierte array....
lengthOfString ist auch eine eigene funktion die einfach die länge des Strings ermittelt.
hier meine funktion:
int isPalindrom(char line[])
{
int i;
int length;
char palindrom[63];
length=lengthOfString(line);
//Umkopieren in 2. Array
for(i=0;i<length;i++)
{
palindrom[length-i]=line[i];
}
//Beide Array vergleichen
for(i=0;i<length;i++)
{
if(palindrom[i+1]==line[i])
{
return 1;
}
else
{
return 0;
}
}
}
Also z.B.:
Eingabe: Hannah oder reliefpfeiler
Ausgabe: Es ist ein Palindrom
Eingabe: hund
Ausgabe: es ist kein Palindrom
Das Programm läuft, nur nicht nach Vorgabe, diese war:
int isPalindrom(char line[])
{
int i;
int length;
....
}
Diese Grundgerüst soll man verwenden und keine weiteren lokalen variablen verwenden. das ist mein problem: ich brauch lokal noch ein char-array um das übergebene Array rückwärts abzuspeichern und dann beide array gegenläufig abzugleichen obs ein palindrom ist.
mir fällt keine lösung ein ohne das 2. lokal definierte array....
lengthOfString ist auch eine eigene funktion die einfach die länge des Strings ermittelt.
hier meine funktion:
int isPalindrom(char line[])
{
int i;
int length;
char palindrom[63];
length=lengthOfString(line);
//Umkopieren in 2. Array
for(i=0;i<length;i++)
{
palindrom[length-i]=line[i];
}
//Beide Array vergleichen
for(i=0;i<length;i++)
{
if(palindrom[i+1]==line[i])
{
return 1;
}
else
{
return 0;
}
}
}