EXTERNAL LINEAR::PRINT(1);

Procedure PRINTH;
begin
  writeln;
  writeln(' PROGRAM NAME = ', Pname);
  writeln(' Number of Rows   = ', M:6);
  writeln(' Number of Columns   = ', N:6);
  writeln
end(*---of PRINTH---*);

Procedure PRINTC( B : row ; C : col );
VAR	I : integer;
begin
  writeln;
  writeln('  ---Initial Data---');
  writeln;
  writeln(' Objective Vector, Cost of Feeds');
  writeln;
  For I:=1 to N do
    writeln( Colname[I]:22, C[I]:14:8 );
  writeln;
  writeln(' RHS Vector, Nutrient Requirements');
  WRITELN;
  For I:=1 to M do
    writeln( Rowname[I]:22, B[I]:14:8 );
  writeln
end(*---of PRINTC---*);

Procedure PRINTD;
VAR	I, J : integer;
begin
  writeln;
  writeln(' ABAR array');
  writeln;
  For J:=1 to N do
    For I:=1 to M do
      Writeln(I:6,J:6,'  ', Rowname[I]:22, Colname[J]:22, ABAR[I,J]:14:8);
  writeln;
  {writeln(' ABAR(M+1), ABAR(M+2)'); this section omitted as meaningless
  writeln;
  For I:=1 to N do
    writeln( Colname[I]:22, ABAR[M1,I]:14:8, ABAR[MP,I]:14:8 );}
  writeln
end(*---of PRINTD---*);

Procedure PRINTX;
VAR	I : integer;
	S : STRING 20;
begin
  writeln;
  writeln(' List and X Arrays');
  writeln('                         FEED               LBS (CWT)');
  writeln;
  For I:=1 to MP do
    begin
    S := '                    ';
    If (list[I]<=N) then S := Colname[ List[I] ];
    If I>M then S := Rowname[I] ;
    writeln( I:8,'  ', S:22, list[I]:7, X[I]:18:8 )
    end(*FOR*);
  writeln('               "M+1" is cost of ration times (-1)');
  writeln
end(*---of PRINTX---*);
 .

