/*                                            /* Felder - Matrizen */

/* Durch Hinzufügen von Zeilen- und Spaltensummen ist aus einer Matrix vom
Format (m,n) eine Matrix vom Format (m+1, n+1) zu erzeugen und auszugeben! 
------------------------------------------------------------------------------
geg.:   Matrix  M(z, s)

ges.:   Matrix  M(z+1, s+1), mit z+1 Zeilensumme und s+1 Spaltensumme

Lsg.:  Ausgangsmatrix erzeugen ( einlesen, Zufallszahlen oder Formel)
       Zeile z+1 und Spalte s+1 alle Elemente auf 0 setzen (INITIALISIEREN)
       i = 0..z-1 Summieren M[i,s] = Summe der Spaltenelemente
       j = 0..s-1 Summieren M[z,j] = Summe der Zeilenelemente
       i = 0..s-1 Summieren M[z,s]= Summe der Elemente der Zeile s
------------------------------------------------------------------------------*/
#include <stdlib.h>
int main()
{
   int matrix[20][20];
   int i, j, z, s;

   z=3; s=5;

   printf("\n Ausgangsmatrix: \n");
   for (i=0; i<z; i++)
   {  for (j=0; j<s; j++)
      {  if (i!=j) matrix[i][j]= i+j; else matrix[i][j]=0;
         printf("%6i", matrix[i][j]);
      }
      printf("\n");
   }

   for (i=0; i<=z; i++)  matrix[i][s]=0;     /* Initialisieren */
   for (j=0; j<=s; j++)  matrix[z][j]=0;

   for (i=0; i<z; i++)
      for (j=0; j<s; j++) { matrix[i][s]+= matrix[i][j];
                            matrix[z][j]+= matrix[i][j];
                          }
   for (i=0; i<z; i++) matrix[z][s]+= matrix[i][s];

   printf("\n\n 11. Matrix mit Zeilen- und Spaltensummen:\n");
   for (i=0; i<=z; i++)
   {  for (j=0; j<=s; j++) printf("%6i", matrix[i][j]);
      printf("\n");
   }

   system("PAUSE"); return 0;
}/*--------------------------------------------------------------------------*/

