Empezamos asumiendo que la palabra es un palíndromo
for(int x=0;x<n/2;x++)
if (cad[x]!=cad[n-x-1]) pal=false;
comparamos cada caracter desde 0 hasta la mitad con la posición equivalente empezando desde el final de la cadena y si no son iguales decimos que la palabra no es un pilíndromo.
Es decir, toma por ejemplo "reconocer"
n/2=4.5 -> 4 porque n es int
pal=true;
[empieza bucle]
x=0 [r]econocer == reconoce[r]
x=1 r[e]conocer == reconoc[e]r
x=2 re[c]onocer == recono[c]er
x=3 rec
x=4 == n/2 -> termina bucle
resultado: si es palíndromo