/* File: matvetma.c */
/* Time-stamp: "2001-04-09 19:35:15 calvanes" */
/* Scopo: uso di array mono e multidimensionali */

/* Costruisce il vettore degli elementi massimi di ogni riga di un matrice, e
   lo stampa. */

#include <stdio.h>

#define R 3
#define C 2


void leggiMatrice(int m[R][C])
{
  int i, j;

  printf("Inserire gli elementi di una matrice di interi %dx%d\n", R, C);
  for (i = 0; i < R; i++)
    for (j = 0; j < C; j++)
      scanf("%d", &m[i][j]);
}


void stampaMatrice(int m[R][C])
{
  int i, j;

  for (i = 0; i < R; i++) {
    for (j = 0; j < C; j++)
      printf("%5d", m[i][j]);
    printf("\n");
  }
}


void stampaVettore(int v[], int dim)
{
  int i;

  printf("Indice Elemento\n");
  for (i = 0; i < dim; i++)
    printf("%6d %8d\n", i, v[i]);
}


void vettoreMaxRighe(int m[R][C], int vetMaxR[])
  /* Restituisce in vetMaxR il vettore dei massimi di ogni riga. */
{
  int i, j;

  for (i = 0; i < R; i++) {
    vetMaxR[i] = m[i][0];
    for (j = 1; j < C; j++)
      if (m[i][j] > vetMaxR[i])
        vetMaxR[i] = m[i][j];
  }
}


int main(void)
{
  int mat[R][C];
  int vetRighe[R];

  leggiMatrice(mat);
  vettoreMaxRighe(mat, vetRighe);
  printf("vettore dei massimi di riga:\n");
  stampaVettore(vetRighe, R);

  return 0;
}