#include
#define MAX 50
using namespace std;
Funzioni di dimensionamento e caricamento
int Dimensionamento();
void CaricaMatrice(int M[MAX][MAX], int r, int c);
void MatriceUnitaria(int M[MAX][MAX], int r, int c);
void Stampa(int M[MAX][MAX], int r, int c);
int main()
{
int r, c, M[MAX][MAX];
cout
r=Dimensionamento();
cout
c=Dimensionamento();
CaricaMatrice(M, r, c);
if(r==c){
MatriceUnitaria(M, r, c);
}
else {
cout
}
Stampa(M, r, c);
}
int Dimensionamento()
{
int d;
do{
cin>>d;
} while ((dMAX));
return d;
}
void CaricaMatrice(int M[MAX][MAX], int r, int c)
{
for(int i=0; i
for(int q=0; q
cin>>M[q];
}
}
}
void MatriceUnitaria(int M[MAX][MAX], int r, int c)
{
int cont=0, cont0=0, tot;
for (int i=0; i
for(int j=0; j
if((i==j)&&(M[j]==1)){
cont++;
}
if(M[j]==0){
cont0++;
}
}
}
tot=r*c-r;
if((cont==r)&&(cont0==tot)){
cout
}
else{
cout
}
}
void Stampa(int M[MAX][MAX], int r, int c)
{
for (int i=0; i
for (int q=0; q
cout
cout[q];
} cout
}
}