ESERCIZI SULLE MATRICI
ES 1
Disegno di una scacchiera su una matrice di char
ES 2
Calcolo della diagonale maggiore
ES 3
Calcolo della diagonale minore
#include <stdio.h>
//es 1: disegno di una scacchiera su una matrice di char
void disegno(char M[3][3], int r, int c){
for(int i = 0; i < r; i++){
for(int j = 0; j < c; j++){
if(i % 2 == 0 && j % 2 == 0){
M[i][j] = '+';
}else{
M[i][j] = '-';
}
}
}
}
void stampa(char M[3][3], int r, int c){
for(int i = 0; i < r; i++){
for(int j = 0; j < c; j++){
printf("%c ", M[i][j]);
}
printf("\n");
}
}
//es 2: calcolo della diagonale maggiore
int somma_DM(int M[3][3], int r, int c){
int somma = 0;
for(int i = 0; i < r; i++){
somma = somma + M[i][i];
}
return somma;
}
//es 3: calcolo della diagonale minore
int somma_dm(int M[3][3], int r, int c){
int somma = 0;
for(int i = 0; i < r; i++){
somma = somma + M[i][c-i-1];
}
return somma;
}
int main() {
int M[3][3] = {
{1, 2, 13},
{4, 15, 6},
{7, 8, 9}
};
char scac[3][3];
disegno(scac, 3, 3);
stampa(scac, 3, 3);
printf("es2: %d\n", somma_DM(M, 3, 3));
printf("es3: %d", somma_dm(M, 3, 3));
return 0;
}