Ominide 786 punti

#include <iostream>
#define MAX 50
using namespace std;

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<<"Numero righe= ";
r=Dimensionamento();
cout<<"Numero colonne= ";
c=Dimensionamento();
CaricaMatrice(M, r, c);
if(r==c){
MatriceUnitaria(M, r, c);
}
else {
cout<<"La matrice non è quadrata" <<endl;
}
Stampa(M, r, c);
}

int Dimensionamento()
{
int d;
do{
cin>>d;
} while ((d<1)||(d>MAX));
return d;
}

void CaricaMatrice(int M[MAX][MAX], int r, int c)
{
for(int i=0; i<r;i++){
for(int q=0; q<c; 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<r; i++){
for(int j=0; j<c; j++){
if((i==j)&&(M[j]==1)){
cont++;
}
if(M
[j]==0){
cont0++;
}
}
}
tot=r*c-r;
if((cont==r)&&(cont0==tot)){
cout<<"La matrice è unitaria" <<endl;
}
else{
cout<<"La matrice non è unitaria" <<endl;
}
}

void Stampa(int M[MAX][MAX], int r, int c)
{
for (int i=0; i<r; i++){
for (int q=0; q<c; q++){
cout<<" ";
cout<<M[q];
} cout<<endl;
}
}

Hai bisogno di aiuto in Informatica?
Trova il tuo insegnante su Skuola.net | Ripetizioni
Potrebbe Interessarti
Registrati via email