PROGRAM SortArray; {Programmer: Gregory A. Perkins CS 65} {Creates an Array with the data in any order - Sorts the data sequentially} {Programmed and tested to be enplaced in a program at a later date as a procedure} {Declarations Section} CONST MaxElements = 100; TYPE NumArray = ARRAY[1..MaxElements] OF INTEGER; VAR Data : NumArray; Elements, Number, Count, Replace, HighVal : INTEGER; BEGIN {Initialization Section} Elements := 0; Number := 0; Count := 0; Replace := 0; HighVal := 0; {Get the number of elements in the array from user} WRITE('Enter the number of elements (MAX = 100) in your Array : '); READLN(Number); {Read in the values of the user's array} FOR Count := 1 TO Number DO BEGIN WRITE('Element #', Count:1, ' : '); READLN(Data[Count]); WRITELN; END; {Display the "ENTERED" array} WRITELN('Here is the array that you entered...'); FOR Count := 1 TO Number DO WRITE(Data[Count]:1, ' : '); WRITELN; WRITELN; {Sort the array sequential from lowest value to highest value} WRITELN('Now Sorting Array!!!'); {SORTER} {*********************************************************************************} Elements := Number; {used as a loop counter in the 'sorter'} WHILE (Elements >= 2) DO BEGIN {while statement} Replace := 0; {reset to test for changes made} HighVal := 0; {reset to ensure value integrity} FOR Count := 1 TO Elements DO BEGIN {loop} IF (Data[Count] > HighVal) THEN BEGIN {conditional to change values} HighVal := Data[Count]; {set to value currently checking} Replace := Count; {save position of element to replace} END; {} END; {of FOR loop} {Ensure that a change has been made before moving elements} IF (Replace > 0) THEN BEGIN Data[Replace] := Data[Elements]; Data[Elements] := HighVal; END; {Decrease elements counter to escape while loop} Elements := Elements - 1; {decrease range to check within array} END; {of WHILE loop} {*********************************************************************************} WRITELN('Here is your ''sorted'' array...'); FOR Count := 1 TO Number DO WRITE(Data[Count]:1 , ' : '); WRITELN; END. {of program}