Loesung der AGS 3.9 =================== (a) -eine moegliche Korrektur (Loesung)- void palindrom1(char feld[], int l, int *korrekt) { // Rückgabe void, Referenzparameter int i; i = 0; // muss mit 0 statt 1 initialisiert werden l = l - 1; *korrekt = 1; // muss mit 1 initialisiert werden while (i < l && *korrekt) { *korrekt = feld[i] == feld[l]; i = i + 1; l = l - 1; // l muss dekrementiert werden } } // kein return wegen void /* Aufruf: */ #definde ANZ 20 ... char feld[ANZ]; int korr; ... palindrom1(feld, ANZ, &korr); (b) int palindrom2(char feld[], int lo, int hi) { if (hi <= lo) return 1; if (feld[lo] != feld[hi]) return 0; return palindrom2(feld, lo + 1, hi - 1); } /* Aufruf: */ #definde ANZ 20 ... char feld[ANZ]; int korr; ... korr = palindrom2(feld, 0, ANZ - 1);