#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define MAX 3
void crea_matrice(int A[MAX][MAX]){
int i, j, n;
printf("dammi la dimensione della matrice n: \n");
scanf("%d",&n);
for(i=0; i<n; i++){
for(j=0; j<n; j++){
printf("dammi un elemento: \n");
scanf("%d",&A[i][j]);
}
}
return;
}
void stampa_matrice(int A[MAX][MAX]) {
int i, j;
for (i=0; i<MAX; i++) {
for (j=0; j<MAX; j++)
printf("%d ", A[i][j]);
printf("\n");
}
return;
}
void diagonale_dominante(int A[MAX][MAX]){
int i,j,s,p;
p=0;
for(i=0; i<MAX; i++){
s=0;
for(j=0; j<MAX; j++){
if(i!=j){
s=s+A[i][j];
}
}
if((unsigned)A[i][i]>s){
p=p+1;
}
}
if(p==3){
printf("La matrice è a diagonale dominante \n");
}
else {
printf("La matrice non è a diagonale dominante \n");
}
return;
}
void matriceJ(int A[MAX][MAX]){
int i,j;
int B[MAX][MAX];
for(i=0; i<MAX; i++){
for(j=0; j<MAX; j++){
if(i==j){
B[i][j]=0;
}
else{
B[i][j]=(-(A[i][j])/(A[i][i]));
}
printf("%d",B[i][j]);
}
}
return;
}
int main (void){
int A[MAX][MAX],B[MAX][MAX];
crea_matrice(A);
stampa_matrice(A);
diagonale_dominante(A);
matriceJ(B);
stampa_matrice(B);
return(0);
}