Einlesen der Matrix

 [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

SantaClaus.m2
CONST
   maxvalues = maxlocations * maxlocations;
      (* soviele Eintraege gibt es maximal in der Matrix *)
VAR
   (* Variablen zur Ablage der eingelesenen Werte *)
   buf: ARRAY [0..maxvalues-1] OF Distance;
   index: [0..maxvalues];
   value: Distance;
   i, j: Location; (* Indizes fuer matrix *)
   (* Variablen zur Bestimmung der Groesse der Matrix *)
   squarelen: LocationIndex;
   nextodd, counter: CARDINAL;

*Da die Größe der Matrix erst dann bekannt ist, wenn alle Werte eingelesen sind, werden sie zuerst in einem eindimensionalen Feld namens buf abgelegt, das maxvalues Einträge besitzt.
 
*Das Feld buf ist im Bereich von 0 bis index-1 gefüllt. index entspricht somit auch der Zahl der bislang eingelesenen Werte.
 
*value ist der zuletzt eingelesene Wert.
 
*i und j werden später zur Indizierung der Ergebnismatrix verwendet.
 
*squarelen ist die Größe der Matrix, die von 0 beginnend laufend der Zahl der eingelesenen Werte angepaßt wird. Die Variablen nextodd und counter unterstützen dies.
 

 [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1999 Andreas Borchert, in HTML konvertiert am 13.01.1999