Gli esercizi
Testi e soluzioni di alcuni esercizi
Riga di somma massima in una matrice
Leggere in input una matrice di interi (n righe ed m colonne). Stampare l'indice della riga di somma massima.
/*
**  matrice.c
**
**  Leggere in input una matrice di interi (n righe ed m colonne).
**  Stampare l'indice della riga di somma massima.
**
**  Marco Liverani (liverani@mat.uniroma3.it) - Ottobre 2001
*/
#include <stdlib.h>
#include <stdio.h>
#define MAX 100
/*
 *  Funzione per la lettura in input di una
 *  matrice di numeri interi.
 */
void leggi_matrice(int A[MAX][MAX], int *n, int *m) {
  int i, j;
  printf("Inserisci il numero di righe e di colonne: ");
  scanf("%d %d", n, m);
  printf("Inserisci gli elementi della matrice:\n");
  for (i=0; i<*n; i++) {
    for (j=0; j<*m; j++) {
      scanf("%d", &A[i][j]);
    }
  }
  return;
}
/*
 *  Funzione principale
 */
int main(void) {
  int A[MAX][MAX], n, m, i, j, max_val, max_ind, somma;
  leggi_matrice(A, &n, &m);
  max_val = -1;
  max_ind = -1;
  for (i=0; i<n; i++) {
    somma = 0;
    for (j=0; j<m; j++) {
      somma += A[i][j];
    }
    if (somma > max_val) {
      max_val = somma;
      max_ind = i;
    }
  }
  printf("La riga di somma massima (%d) e' quella di indice %d.\n", max_val, max_ind);
  return(0);
}