Salve ho questo problema:
Esercizio 2. Si scriva in C++ una funzione ricorsiva che riceva un array di interi e la sua dimensione (che si sa essere
sempre PARI) e restituisca VERO se l’array è palindromo “a coppie”. Un array si dice “palindromo a coppie” se è palindromo,
ma rispetto a coppie contigue di elementi, e non a singoli elementi.
Es.:
4 7 5 2 5 2 4 7
Io ho implementato il seguente codice e l'ho rivisto un milione di volte e non capisco dov'è il problema perche mi dovrebbe ristituire È PALINDROMO A COPPIE, invece mi dice di no.
grazie come sempre per l'aiuto
codice:
# include <iostream>
using namespace std;
bool verifica (int [], int ,int );
const int n=8;
int main ()
{
int a[n]={4,7,5,2,5,2,4,7};
if (verifica (a,0,n-1))
cout<<"E PALINDROMO A COPPIE"<<endl;
else
cout<<"NON E PALINDROMO A COPPIE";
return 0;
}
bool verifica (int a[], int i,int j)
{
if (i==n/2-1 && j==n/2)
return true;
if (a[i] != a[j-1] || a[i+1] != a[j])
return false;
return verifica (a,i+2,j-2);
}