program adjust (input, output); const MINLENGTH = 20; MAXLENGTH = 80; BLANK = ' '; type LineType = array [1..MAXLENGTH] of char; var line: LineType; actualLength, desiredLength: integer; procedure GetDesired (var desiredLength: integer); begin write ('How long do you want the line to be? '); readln (desiredLength); while not (desiredLength in [MINLENGTH..MAXLENGTH]) do begin writeln ('Sorry, that''s not a legal line length.'); write ('Please type a number between ', MINLENGTH: 1, ' and ', MAXLENGTH: 1, '.'); write ('How long do you want the line to be? '); readln (desiredLength); end; end; procedure GetLine (var line: LineType; var length: integer); var k: integer; ch: char; begin length := 0; for k := 1 to MAXLENGTH do begin line [k] := BLANK; end; while not eoln do begin read (ch); length := length + 1; if length <= MAXLENGTH then begin line [length] := ch; end; end; readln; end; procedure InsertBlanks (var line: LineType; actualLength, desiredLength: integer); begin end; procedure PrintLine (line: LineType; length: integer); var k: integer; begin for k := 1 to length do begin write (line [k]); end; writeln; end; begin {main program} GetDesired (desiredLength); GetLine (line, actualLength); while actualLength > 0 do begin if actualLength < desiredLength then begin InsertBlanks (line, actualLength, desiredLength); end; PrintLine (line, desiredLength); GetLine (line, actualLength); end; end.