: : ok so im trying to write a simple program that does the following:
: :
: : 1) asks user to enter in 10 numbers (i can do this with array)
: : 2) find the largest number entered and display it
: : 3) find smallest number and display it
: : 4) find average and display it
: :
: : i am a total noob at pascal and programming. i was close to figuring
: : out average but i couldnt manage. and i have no idea how to display
: : the largest and smallest. could you guys help me?
: :
:
: Hi, this will help to solve your problem:
:
:
:
: program average;
:
: const max_number=10; {change this for array size}
: var number:array[1..max_number+1] of integer; {can be byte,word,real...etc.}
: i:byte;
:
:
: procedure sort_numbers; {simple bubble sort algorythm}
: var j:byte; {can be slow for large arrays, but easy to implement}
: begin
: for j:=max_number downto 2 do
: for i:=1 to j do
: if number[j]<number[i] then begin
: number[max_number+1]:=number[j];
: number[j]:=number[i];
: number[i]:=number[max_number+1];
: end;
: end;
:
: procedure write_min_max; {because it's sorted is easy to see min. and max. }
: begin
: writeln(#13#10,'Minimum > ',number[1]); {#13#10 moves the cursor down a line}
: writeln('Maximum > ',number[max_number]);
: end;
:
: procedure calculate_average;
: begin
: number[max_number+1]:=0;
: for i:=1 to max_number do
: inc(number[max_number+1],number[i]);
: writeln('Average > ',number[max_number+1]/max_number:6:4);
: { :6:4 formats the result to "xxxxxx.xxxx" instead of "x.xxxx...E+xxxx" }
: end;
:
:
:
: begin
: writeln; {move cursor down 1 line}
: for i:=1 to max_number do begin {enter data}
: write('Enter number ',i,' : ');
: readln(number[i]);
: end;
: sort_numbers;
: write_min_max;
: calculate_average;
: asm xor ax,ax;int 16h;end; {waits for a keypress to exit}
: end.
: :
:
wow! thanks! works great! exept for the end where it says "asm xor ax,ax;int 16h;end;" it said that the compile failed so i just changed to readln no biggy. i also learnt about the 6:4 thing. that helped alot! thanks :)