Ho corretto il passo base e ho cambiato la condizione dell'if perchè anche la seconda espressione deve sommare M[i+1].
Qual'è il parametro che manca?! Non mi sembra .. ho messo la matrice M, la sua dimensione e l'indice i.


codice:
bool parialternati(int M[], int dim, int i){
     
     if(i==dim) //passo base
     return false;
     
     
     if(M[i] + M[i+1]%2==0 && M[i+1] + M[i+2]%2!=0) //passo ricorsivo
     return true;
     
     return parialternati(M[], dim, ++i);
     }
     
     
    La prima invocazione nel main per la funzione deve essere:
           parialternati(M, dim, 1);
Come prima invocazione ho assegnato i a 1 passando un 1 direttamente nella funzione. Cosi' facendo non bisogna obbligatoriamente specificare i=1 nell'inizializzazione del main, vero?