import utilities.*;

/**

Das Beispiel liefert etwa folgenden Dialog:

Wie gross soll die Dreiecksmatrix sein? 3
2-dim. Feld
    0    1    2    3
   10   11   12
   20   21
   31   32   33   34   35
dreieck
 -323  374  742
  441 -632
  520

*/
/*------------------------------------------------------------------*/


public class Dreiecksmatrix
{
   static int [][] dreieck;

   static private void matAusgeben(String titel, int[][]m)
   {
      System.out.println(titel);
      for (int i=0; i<m.length; i++)
      {
         for (int j=0; j<m[i].length; j++)
            FormatierteAusgabe.ausgabeInt(m[i][j], 5);
         System.out.println();
      }
   }

   public static void main(String[] argv)
   {  int [][] zweidimFeld = {{ 0, 1, 2, 3},
                              {10,11,12},
                              {20,21},
                              {31,32,33,34,35}
                             };
      int laenge = TastaturEingabe.readInt("Wie gross soll die Dreiecksmatrix sein? ");

      // dreieck instanziieren
      dreieck = new int[laenge][];
      // Jetzt werden die einzelnen Zeilen instanziiert
      // mit abnehmender Laenge
      for (int i=0; i<dreieck.length; i++)
         dreieck[i] = new int[laenge-i];
      // Belegung der Feldelemente mit Zufallszahlen
      for (int i=0; i<dreieck.length; i++)
         for (int j=0; j<dreieck[i].length; j++)
         {
            dreieck[i][j] = (int)(1000*Math.random());
            if (Math.random() >= 0.5)
               dreieck[i][j] *= -1;
         }
      // Ausgabe der 2-dim Matrix
      matAusgeben("2-dim. Feld", zweidimFeld);
      // Ausgabe der Dreiecksmatrix
      matAusgeben("dreieck", dreieck);
   }
}

