Buona sera, ho questo esercizio, sembrava semplice, ma niente... non vuole girare...
codice:
/*
Assegnata una matrice quadrata NxN, scrivere una funzione booleana ricerca
che stampi vero se i numeri dispari ricorrono più volte dei pari.
*/
#include<iostream>
#include<cstdlib>
using namespace std;
const int rigmax=50;
const int colmax=50;
using namespace std;
bool PariDispari(int [][colmax], int , int , int &);
void StampaMat(char, int [][colmax], int);
int main()
{
int A[rigmax][colmax];
int n,m, conta;
cout<<"inserisci righe : ";
cin>>n;
cout<<"inserisci colonne : ";
cin>>m;
int i=0, j=0, sommaP=0, sommaD=0;
cout<<PariDispari(A, n, m, conta);
cout<<sommaP<<endl;
cout<<sommaD<<endl;
StampaMat('A', A, n);
system("pause");
}
bool PariDispari(int A, int n, int m, int &conta){
if(n<0){
if(conta>0){
return true;}
else{
return false;
}
}
else {
if(m<0)
return PariDispari(A, n-1, m, conta);
else
{
if (A[n][m]%2==0){
return PariDispari(A, n-1, m, conta-1);
}
else
return PariDispari(A, n-1, m, conta+1);
}
}
void StampaMat(char nomemat,const int A[][m], int n, int m) {
int i,j;
for (i=0;i<n;i++) {
for (j=0; j<n; j++)
cout<<nomemat<<"["<<i<<"]["<<j<<"]="<<A[i][j]<<" ";
cout<<endl;
}
}
l'errore stà nella functionparidispari