E' proprio sbagliata l'idea di utilizzare un flag in quel modo a mio avviso... Basta che il primo e l'ultimo elemento siano uguali affinché a palindroma venga assegnato il valore 1...
Perché non fare in questo modo ad esempio?
#include <stdio.h>
#include <stdlib.h>
#define N 5
int main ()
{
int v[N];
int i;
int cont;
printf ("Inserisci il vettore:\n");
for (i=0; i<N; i++)
{
printf("Inserisci l'elemento %d: ",i+1);
scanf("%d", &v[i]);
}
cont=0;
for (i=0; i<N; i++)
{
if (v[i]==v[N-1-i])
cont++;
}
if (cont==N)
printf ("\nLa successione e' palindroma!\n");
else
printf ("\nLa successione non e' palindroma");
return 0;
}