[c]Wytlumaczenie linii

  • Rejestracja: dni
  • Ostatnio: dni
0

Jestem zielony z c i chcialbym aby mi ktos wyjasnil ta linie o co tutaj chodzi co progrma w tym momencie robi.
s to jest zmienna char
i,l integer

Kopiuj
for(i=0;i<l/2;i++) if(s[i]!=s[l-i-1])return(0);
    return(1);
ujemny
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Lublin
0

A może się chociaż trochę wysilisz i poszukasz czegoś samemu, zamiast pytać o podstawy języka.
http://4programmers.net/C/Instrukcje_steruj%C4%85ce

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1652
0

Sprawdza czy słowo w tablicy s jest palindromem

M2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 123
0

Załóżmy, że słowo ma 10 liter. Aby sprawdzić, czy wyraz jest palindromem (o ile to jedno słowo, a nie kilka słów - w takim wypadku trzeba wykonać pewne przekształcenia), należy (zgodnie z tą funkcją):

dane:
int i = 0;
const int LENGTH = maksymalna_długość_wyrazu (np. 50)
LUB
#define LENGHT maksymalna_dlugość_wyrazu (np. 50)
char s[LENGHT];
int l = strlen(s);

i teraz:
pierwszy przebieg pętli:
i = 0;
l = strlen(s);
l - i - 1 = ostatnia litera w słowie;

a więc, jak mamy wyraz KAJAK to:
jeśli s[0] != s[4] zwróć 0 (w naszym wypadku s[0] = 'K' i s[4] = 'K'), a więc mielimy dalej)

drugi przebieg pętli:
jeśli s[1] != s[3] zwróć 0 (s[1] = 'A' i s[3] = 'A', więc mielimy dalej)

trzeci przebieg pętli nie następuje, gdyż oba indeksy wskazują na ten sam element
więc zwróć 1

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.