with ada.text_io; use ada.text_io; with ada.integer_text_io; use ada.integer_text_io; -- Input and print in reverse an unknown number, up to 100 -- Indices can start at any number procedure printn is firstIndex: constant Integer := -10; maxArraySize: constant Natural := 100; a: array (firstIndex .. firstIndex + maxArraySize - 1) of Integer; numEntered: natural := 0; -- How many were entered num: integer; begin while not end_of_file and numEntered < maxArraySize loop get(num); numEntered := numEntered + 1; a(firstIndex + numEntered - 1) := num; end loop; -- Another way to access indices -- for i in reverse a'first .. a'first + numEntered - 1 loop for i in reverse firstIndex .. firstIndex + numEntered - 1 loop put(a(i)); new_line; end loop; end printn;