ragazzi ho un problema con questo programma..praticamente se un elemento è contenuto nella riga successiva allora la variabile logica sarà true altrimenti false. Io ho abbozzato un codice ma mi va in loop e non riesco a capire dove. Grazie in anticipo a chi mi aiuterà!

codice:
#include <iostream>#define len 20


using namespace std;


int main(){
	
	int i,j,righe,colonne;
	int a[len][len];
	bool flag=true;
	
	cout<<"inserisici il numero di righe"<<endl;
	cin>>righe;
	
	cout<<"inserisici il numero di colonne"<<endl;
	cin>>colonne;
	
	for (i=0; i<righe; i++){
		for (j=0; j<colonne; j++){
			cout<<"inserisic l'elemento "<<i+1<< "-"<<j+1<<endl;
			cin>>a[i][j];
		}
	}
	
	
	
	for (i=0; i<righe; i++){
	while ((flag=true) || (j<colonne))	{
		cout<<"sono qui"<<endl;
		
		
		if (a[i][j]==a[i+1][j]){
			flag=false;
			cout<<"sono qui2"<<endl;
		}
		else{
		
		j=j+1;
	}
	}
}
	
	
	
	
	
	
	system("pause");
	return main();
}