Non riesco a capire quale sia il problema di questo programma, il testo è :
Scrivere in C++ una procedura o funzione ricorsiva che di come risultato true se una
matrice A rettangolare di N righe ed M colonne possiede due colonne uguali, false
altrimenti.
La variabile bol assume dei valori veramente assurdi e mi sembra che non mi sia chiara qualcosa di questa maledetta ricorsione..
#include<iostream>
using namespace std;
int matrice(int M[10][10],int n,int m,int c,int l);
main(){
int M[10][10];
int i,j,n,m,bol,c,d,l;
bol=0;
cout<<"Inserisci il numero delle righe"<<endl;
cin>>n;
cout<<"Inserisci il numero delle colonne"<<endl;
cin>>m;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
cout<<"Inserisci il valore di riga "<<i<<" e colonna "<<j<<endl;
cin>>M[i][j];
}
}
c=m;
l=n;
d=matrice(M,n,m,c,l);
cout<<d<<endl;
}
int matrice(int M[10][10],int n,int m,int c,int l){
int bol;
while ((bol==0)&&(m!=0)){
if((M[n][m-1]==M[n][m])&&(l!=0)){
c=c-1;
}
matrice(M,l-1,m,c,n);
l=n;
if (c==0){
bol=1;
}
else{
matrice(M,n,m-1,c,l);
}
}
return bol;
}