Computer Science Canada

Median

Author:  Tallguy [ Fri Mar 28, 2008 1:15 pm ]
Post subject:  Median

wat up ppl? this is a very simple program
-the user enters 4 numbers
-sorts number from least to greatest
-puts the median
enjoy, anyone may use

*how would i modify this to make it alphablize words?, plz comment Cool *

Author:  SIXAXIS [ Fri Mar 28, 2008 10:10 pm ]
Post subject:  Re: Median

Not sure about making it do letters, but I have a suggestion. You can make it do unlimited numbers by taking away the variables like n1, n2, n3, etc. and making it an array. Do this and the user can input the amount of numbers they want or you can even have it set to unlimited. You would use a for loop to have it reorder the numbers. I would do it for you, but I'm kind of busy right now.

Author:  Mackie [ Fri Mar 28, 2008 10:21 pm ]
Post subject:  RE:Median

This program works but it should defiantly not be +600 lines. There is a lot of optimization. First off to sort the numbers you could do a very simple bubble sort (wikipedia).

Author:  Tallguy [ Sat Mar 29, 2008 4:02 pm ]
Post subject:  RE:Median

this was my first time doing sorting, so i'm still kinda new at it . . .

Author:  michaelp [ Sat Mar 29, 2008 4:08 pm ]
Post subject:  RE:Median

What do you mean +600 lines? It's 261 lines. And that's with comments.
Still nice though, for a first time. Very Happy

Author:  Tallguy [ Thu Apr 03, 2008 8:28 am ]
Post subject:  RE:Median

ty

Author:  Zampano [ Thu Apr 03, 2008 4:18 pm ]
Post subject:  Re: Median

To do this with letters, look at the ord() function. It will give 65 unto 91 for smallercase letters and . . . something else for capitals. The integer returned is the letter's spot in ASCII and the number formed from the binary of the byte used to represent the letter.

Author:  Tallguy [ Tue Apr 08, 2008 7:32 am ]
Post subject:  RE:Median

how would i use an array to get the median for any amount of numbers the user enters?

Author:  Carey [ Tue Apr 08, 2008 11:10 am ]
Post subject:  RE:Median

That question has already been answered. Just make the array flexible (look in the help file), sort it, then if the number of items is odd print the middle. if even print the average of the 2 middle ones

Author:  Tallguy [ Wed Apr 09, 2008 1:39 pm ]
Post subject:  RE:Median

this is wat i have now, wat do i do next?
%Alex van der Mout
%4/9/08
%OBJECTIVE - Write a program which
%calculates the median value in a
%list of numbers. Have the user enter
%the number of items in the list and
%all of the values they want the median of.

var number : int
var sort:real

put "How many numbers are there? " ..
get number

var list : array 1 .. number of int%%%%%%gets numbers
put "What are the numbers?"
for i : 1 .. number
get list (i)
end for%%%%%%%%%%%%%%%end gets

put "The numbers in order are . . . " %%%%%%%%%sorts numbers
var sortlist : array 1 .. number of int
for i : 1 .. number
var smallest := 999
var where : int
for j : 1 .. number
if list (j) < smallest then
smallest := list (j)
where := j
end if
end for
sortlist (i) := smallest
list (where) := 999
end for
for i : 1 .. number
put sortlist (i)
end for%%%%%%%%%%%%%%%%%%%%%%%%end sorts
put ""

Author:  Nick [ Wed Apr 09, 2008 2:32 pm ]
Post subject:  RE:Median

if I remember math than median is the middle, so if you have an array 1.. number, how would you find the middle?

hint: put sortlist(simple math)

Author:  Tallguy [ Thu Apr 10, 2008 11:16 am ]
Post subject:  RE:Median

i got it to work . . .

%Alex van der Mout
%4/9/08
%OBJECTIVE - Write a program which
%calculates the median value in a
%list of numbers. Have the user enter
%the number of items in the list and
%all of the values they want the median of.

var number : int
var sort : real
var position : int
put "How many numbers are there? " ..
get number

var list : array 1 .. number of int %%%%%%gets numbers
put "What are the numbers?"
for i : 1 .. number
get list (i)
end for %%%%%%%%%%%%%%%end gets

put "The numbers in order are . . . " %%%%%%%%%sorts numbers
var sortlist : array 1 .. number of int
for i : 1 .. number
var smallest := 999
var where : int
for j : 1 .. number
if list (j) < smallest then
smallest := list (j)
where := j
end if
end for
sortlist (i) := smallest
list (where) := 999
end for
for i : 1 .. number
put sortlist (i)
end for %%%%%%%%%%%%%%%%%%%%%%%%end sorts
put ""

if number mod 2 = 0 then
put "Here is your Median"
position := round (number / 2)
put (sortlist (position) + sortlist (position + 1)) / 2
else
position := ceil (number / 2)
put "Here is your Median"
put sortlist (position)
end if


: