Gli esercizi
Testi e soluzioni di alcuni esercizi
Classifica del campionato
/*
** classifica.c
**
** Leggere in input una matrice di nxm numeri interi, ognuno dei
** quali pua' valere soltanto 0, 1 o 2. Ogni riga della matrice
** rappresenta i punti acquisiti dalle squadre di calcio nelle
** partite disputate nelle diverse giornate del campionato: 2
** punti per le partite vinte, 1 punto per quelle pareggiate e
** 0 punti per le sconfitte. I risultati della giornata k-esima
** sono contenuti nelle righe della colonna di indice k.
** Per ogni giornata del campionato si stampi l'indice (il numero
** di riga corrispondente) della squadra capolista.
**
** Marco Liverani (liverani@mat.uniroma3.it) - Aprile 2001
*/
#include <stdlib.h>
#include <stdio.h>
#define MAX 100
/*
* Legge in input una matrice di interi di n righe ed
* m colonne.
*/
void leggi_matrice(int mat[MAX][MAX], int n, int m) {
int i, j;
for (i=0; i<n; i++)
for (j=0; j<m; j++)
scanf("%d", &mat[i][j]);
return;
}
/*
* Funzione principale.
*/
int main(void) {
int i, j, n, m, massimo, X[MAX][MAX], P[MAX];
printf("Inserisci il numero di righe (squadre) ed il numero di colonne (giornate): ", &n, &m);
scanf("%d %d", &n, &m);
leggi_matrice(X, n, m);
for (i=0; i<n; i++)
P[i] = 0;
for (j=0; j<m; j++) {
massimo = 0;
for (i=0; i<n; i++) {
P[i] = P[i] + X[i][j];
if (P[i]>P[massimo])
massimo = i;
}
printf("Capolista dopo la giornata %d: squadra n.%d con %d punti.\n", j, massimo, P[massimo]);
}
return(0);
}