Codice dei programmi nella directory:
///File: EserciziMatrici.txt
/***
Esercizi sulle matrici.
1) Riempire la matrice con numeri causali da 1 a N letti da tastiera
2) Trovare il massimo e il minimo della matrice
3) Trovare il massimo di riga R
4) Trovare il minimo di colonna C
5) Scambiare la riga R1 con la riga R2
6) Scambiare la colonna colonna C1 con la colonna C2
***/
///(Fine file: EserciziMatrici.txt)
///File: Matrici.c
#include <stdio.h>
#define ROWS 3
#define COLS 4
int M[ROWS][COLS];
void leggi() {
int i, j;
for (i = 0; i < ROWS; i++)
for (j = 0; j < COLS; j++) {
printf("Elemento %d %d ->", i, j);
scanf("%d", &M[i][j]);
}
}
void leggi2() {
int i, j;
printf("\nImmetti la matrice %d X %d:\n", ROWS, COLS);
for (i = 0; i < ROWS; i++)
for (j = 0; j < COLS; j++)
scanf("%d", &M[i][j]);
}
void scrivi() {
int i, j;
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++)
printf("%3d ", M[i][j]);
printf("\n");
}
}
int trova_massimo() { /// il minimo e' identico
int i, j;
int massimo = M[0][0];
for (i = 0; i < ROWS; i++)
for (j = 0; j < COLS; j++) {
if (M[i][j] > massimo)
massimo = M[i][j];
}
return massimo;
}
int trova_massimo_riga(int n_riga) {
int i;
int massimo = M[n_riga][0];
for (i = 0; i < COLS; i++) {
if (M[n_riga][i] > massimo)
massimo = M[n_riga][i];
}
return massimo;
}
void scambia_righe(int r1, int r2){
int i, temp=0;
for(i=0; i < COLS; i++){
temp = M[r1][i];
M[r1][i] = M[r2][i];
M[r2][i] = temp;
}
}
int main() {
int n_riga = 0;
//leggi();
leggi2();
scrivi();
printf("Elemento piu' grande della matrice: %d\n", trova_massimo());
do {
printf("Su quale riga vuoi sapere il massimo? ");
scanf("%d", &n_riga);
} while (!(n_riga >= 0 && n_riga < ROWS));
printf("Elemento piu' grande della riga %d: %d\n", n_riga, trova_massimo_riga(n_riga));
scambia_righe(1,2);
scrivi();
return 0;
}
///(Fine file: Matrici.c)