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.
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?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);

Rispondi quotando