************************************************************************
* File: somrico.for
************************************************************************
* Scopo: soluzione esercizio 4 del compito di esame del 01/07/1999
************************************************************************

      SUBROUTINE SommaRigheColonne (n, m, mat, rig, col)
      IMPLICIT NONE
* Dichiarazione parametri
      INTEGER n, m
      REAL mat(n,m), rig(n), col(m)
* Dichiarazione variabili
      INTEGER i, j

      DO 10 j = 1, m
        col(j) = 0.0
 10   CONTINUE

      DO 20 i = 1, n
        rig(i) = 0.0
        DO 30 j = 1, m
          rig(i) = rig(i) + mat(i,j)
          col(j) = col(j) + mat(i,j)
 30     CONTINUE
 20   CONTINUE

      RETURN
      END

* PROGRAMMA DRIVER (parte non richiesta dal testo)
      PROGRAM Main
      IMPLICIT NONE
* Dichirazione costanti
      INTEGER NRIG, NCOL
      PARAMETER (NRIG = 2, NCOL = 3)
* Dichiarazione variabili
      REAL matrice(NRIG,NCOL), righe(NRIG), colonne(NCOL)
* Dichiarazione procedure esterne
*     SommaRigheColonne
*       parametri: INTEGER, INTEGER, REAL(*,*), REAL(*), REAL(*)

      matrice(1,1) = 1
      matrice(1,2) = 2
      matrice(1,3) = 3
      matrice(2,1) = 4
      matrice(2,2) = 5
      matrice(2,3) = 6

      CALL SommaRigheColonne(NRIG, NCOL, matrice, righe, colonne)

      WRITE(*,*) righe
      WRITE(*,*) colonne

      STOP
      END
