home *** CD-ROM | disk | FTP | other *** search
- { Bubble Sort Demonstration Program }
- { Microsoft Pascal 3.1 }
-
- { The main routine reads from the terminal an array }
- { of ten real numbers and calls the procedure BUBBLE }
- { to sort them. }
-
- program BubbleSort(input,output);
-
- const
- TABLEN = 10; { Length of reals table }
-
- type
- TABLE = array[1 .. TABLEN] of real4;
- { Table of reals type }
- var
- R: TABLE; { The table itself }
- i: integer; { Table index }
-
- procedure Bubble(var t: TABLE); { The sorting routine }
- var
- i: integer; { Index variable }
- j: integer; { Index variable }
- temp: real4; { Exchange variable }
- begin
- for i := 1 to 9 do { Outer loop }
- begin
- for j := i + 1 to 10 do { Inner loop }
- begin
- if (t[i] > t[j]) then { Sort in ascending order }
- begin
- temp := t[i]; { Perform the }
- t[i] := t[j]; { exchange of }
- t[j] := temp; { table elememts }
- end;
- end;
- end;
- end;
-
- begin
- writeln(' Bubble Sort Demonstration Program.');
- for i := 1 to 10 do { Loop to read in reals }
- begin
- writeln(' Please input real number no. ',i:2);
- { Prompt user }
- readln(R[i]); { Read response }
- end;
- Bubble(R); { Sort the array }
- writeln; { Skip a line }
- writeln(' The sorted ordering from lowest to highest is:');
- { Print a header }
- for i := 1 to 10 do { Loop to print array }
- begin
- write(R[i]); { Write a number }
- if (i mod 5 = 0) then writeln;
- { Five numbers per line }
- end;
- end.