Verificare se le somme degli elementi delle cornici più esterne di due matrici A(R1 x C1) e B(R2 x C2), entrambe contenenti valori numerici, sono uguali.
Funzione confronta: passando C1,C2,R1,R2 come parametri, ritorna 1 se le cornici sono uguali, 0 se non lo sono.
/*
CLAUDIO CARIDNALE 3AI
Verificare se le somme degli elementi delle cornici più esterne di due matrici A(R1 x C1) e B(R2 x C2), entrambe contenenti valori numerici, sono uguali.
Definire le matrici globali
Funzione confronta: passando C1,C2,R1,R2 come parametri, ritorna 1 se le cornici sono uguali, 0 se non lo sono.
*/
#include<stdio.h>
#define MAX 1000
int confronta(int C1, int C2, int R1, int R2);
int mat1[MAX][MAX];
int mat2[MAX][MAX];
int main(){
//dichiarazioni
int i,j,C1,C2,R1,R2;
//acquisizione lunghezze
//prima matrice
do{
printf("inserire il numero di righe dellla prima matrice : ");
scanf("%d",&R1);
printf("inserire il numero di colonne dellla prima matrice : ");
scanf("%d",&C1);
}while(R1<1 || R1>=MAX || C1<1 || C1>=MAX);
//seconda matrice
do{
printf("inserire il numero di righe dellla seconda matrice : ");
scanf("%d",&R2);
printf("inserire il numero di colonne dellla seconda matrice : ");
scanf("%d",&C2);
}while(R2<1 || R2>=MAX || C2<1 || C2>=MAX);
//acquisizione dati
//prima matrice
for(i=0;i<R1;i++)
for(j=0;j<C1;j++){
printf("inserire il valore della riga %d e della colonna %d della prima matrice : ",i+1,j+1);
scanf("%d",&mat1[i][j]);
}
//seconda matrice
for(i=0;i<R2;i++)
for(j=0;j<C2;j++){
printf("inserire il valore della riga %d e della colonna %d della seconda matrice : ",i+1,j+1);
scanf("%d",&mat2[i][j]);
}
//confronto
if(confronta(C1,C2,R1,R2))
printf("le somme delle due cornici sono uguali\n");
else
printf("le somme delle due cornici non sono uguali\n");
}
int confronta(int C1, int C2, int R1, int R2){
//dichiarazioni
int i,j,somma1=0,somma2=0;
//somme
//prima matrice
for(i=0;i<R1;i++)
for(j=0;j<C1;j++)
if(i==0 || j==0 || i==R1-1 || j==C1-1)
somma1 += mat1[i][j];
//seconda matrice
for(i=0;i<R2;i++)
for(j=0;j<C2;j++)
if(i==0 || j==0 || i==R2-1 || j==C2-1)
somma2 += mat2[i][j];
//confronto
return !(somma1-somma2);
}