Salve, ho svolto questa procedura, la compila ma non funziona...
sapreste dirmi l'errore?

grazie

/*
Assegnata una matrice quadrata NxN, scrivere una procedura ricorsiva che
calcoli la somma delle righe pari e delle righe dispari.
*/

#include<iostream>
#include<cstdlib>
#include <ctime>

using namespace std;
void PariDispari(int [][3], int, int, int, int &, int&);
void StampaMat(char, const int [][3], int);

int main()
{
int A[][3]={1,0,0,0,1,0,0,0,1};
int i=0, j=0, n=3, sommaP=0, sommaD=0;

PariDispari(A, i, j, n, sommaP, sommaD);
cout<<sommaP<<endl;
cout<<sommaD<<endl;

StampaMat('A',A,n);

system("pause");
}


void PariDispari(int A[][3], int i, int j, int n, int &sommaP, int &sommaD){
if(i<=n){
if(j>n)
PariDispari(A, i+1, 0, n, sommaP, sommaD);
else if((i%2)==0)
sommaP+=A[i][j];
else
sommaD+=A[i][j];
PariDispari(A, i, j+1, n, sommaP, sommaD);
}

}


void StampaMat(char nomemat,const int A[][3], int n) {
int i,j;
for (i=0;i<n;i++) {
for (j=0; j<n; j++)
cout<<nomemat<<"["<<i<<"]["<<j<<"]="<<A[i][j]<<" ";
cout<<endl;
}
}