[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

im new... so can i have some help

Daniel Kindler

8/15/2008 9:04:00 PM

im new to ruby...... and i need some help!
im trying to make a quick app that takes an array of #'s
puts them into a specific order ( i thik ill use the method "list" for
that?"
and gets the mean, median and mode of the array of numbers?
how would i get what the user enters and puts it in
this is what i got so far



array = {}
num = gets.to_i
while num != 000



*please note the "while num != 000" is for when the user enters 000, the
program knows when to stop adding numbers to the array, and to get the
mean median and mode



than u
--
Posted via http://www.ruby-....

8 Answers

Glen Holcomb

8/15/2008 9:11:00 PM

0

[Note: parts of this message were removed to make it a legal post.]

On Fri, Aug 15, 2008 at 3:03 PM, Daniel Kindler <gizabo@yahoo.com> wrote:

> im new to ruby...... and i need some help!
> im trying to make a quick app that takes an array of #'s
> puts them into a specific order ( i thik ill use the method "list" for
> that?"
> and gets the mean, median and mode of the array of numbers?
> how would i get what the user enters and puts it in
> this is what i got so far
>
>
>
> array = {}
> num = gets.to_i
> while num != 000
>
>
>
> *please note the "while num != 000" is for when the user enters 000, the
> program knows when to stop adding numbers to the array, and to get the
> mean median and mode
>
>
>
> than u
> --
> Posted via http://www.ruby-....
>
>
Is this a homework assignment? while num != 000 is not going to do what you
expect. It will catch 0, 00, 000, 0000, 00000... as to_i converts those to
0.

also you would want to write it as

while num != 000
num = gets.to_i
array << num
end


--
"Hey brother Christian with your high and mighty errand, Your actions speak
so loud, I can't hear a word you're saying."

-Greg Graffin (Bad Religion)

Axel Etzold

8/15/2008 9:49:00 PM

0



Dear Daniel.

> im new to ruby...... and i need some help!

welcome to Ruby. You'll find help on this list :)

> im trying to make a quick app that takes an array of #'s
> puts them into a specific order ( i thik ill use the method "list" for
> that?"

Use sort for that ( http://www.ruby-doc.org/core/classes/Array.ht...)

> and gets the mean, median and mode of the array of numbers?

There's Array#inject for summing, median is the middle of the sorted Array,
and modes are elements that are equal to Array#max.

I'd suggest you go through Chris Pine's little tutorial for Ruby:

http://pine.fm/Learn...

or, if you have some love for comics ... and more time ...

http://poignantguide...

to get an impression of the language.
Also, there are many quizzes for Ruby with different solutions to a problem:

http://rub...

And of course, many excellent books, and readily written software packages (in your case,
search e.g., for the statistics2 package on the RAA (Ruby Application Archive).

Best regards,

Axel


--
GMX startet ShortView.de. Hier findest Du Leute mit Deinen Interessen!
Jetzt dabei sein: http://www.shortview.de/wasistshortview.php?mc=sv_...

Daniel Kindler

8/15/2008 10:18:00 PM

0

ok this is what i wrote so far



array = []
num = gets.to_i
while num != 000
num = gets.to_i
array << num
array.sort
end





why wont if list out the numbers?
--
Posted via http://www.ruby-....

Daniel Kindler

8/15/2008 10:22:00 PM

0

Daniel Kindler wrote:
> ok this is what i wrote so far
>
>
>
> array = []
> num = gets.to_i
> while num != 000
> num = gets.to_i
> array << num
> array.sort
> end
>
>
>
>
>
> why wont if list out the numbers?

nvm i relized i didnt add the "puts"
but it comes out like this


2
5
6
8
9




how do i make it so its in one line?
--
Posted via http://www.ruby-....

Glen Holcomb

8/15/2008 10:28:00 PM

0

[Note: parts of this message were removed to make it a legal post.]

On Fri, Aug 15, 2008 at 4:21 PM, Daniel Kindler <gizabo@yahoo.com> wrote:

> Daniel Kindler wrote:
> > ok this is what i wrote so far
> >
> >
> >
> > array = []
> > num = gets.to_i
> > while num != 000
> > num = gets.to_i
> > array << num
> > array.sort
> > end
> >
> >
> >
> >
> >
> > why wont if list out the numbers?
>
> nvm i relized i didnt add the "puts"
> but it comes out like this
>
>
> 2
> 5
> 6
> 8
> 9
>
>
>
>
> how do i make it so its in one line?
> --
> Posted via http://www.ruby-....
>
>
If you want the array data as a string (i.e. one line) you can use the join
method:

puts array.join(' ') would print the numbers in the array separated by
spaces
puts array.join(',') would separate the elements with a comma

You can separate them with whatever you want, it can even be multiple
characters.

--
"Hey brother Christian with your high and mighty errand, Your actions speak
so loud, I can't hear a word you're saying."

-Greg Graffin (Bad Religion)

Daniel Kindler

8/15/2008 11:07:00 PM

0

ok, so here is my code




array = []
num = gets.to_i
while num != 0
num = gets.to_i
array << num
end
puts array.sort.join(',')



works well so far




Now, how would i take the numbers in the array, and add them......
--
Posted via http://www.ruby-....

Phlip

8/15/2008 11:50:00 PM

0

Daniel Kindler wrote:

> ok this is what i wrote so far

In general...

- 'ok' is spelled 'okay' - it's an African word, not an acronym

- a good way to learn Ruby interactively is this link here:

http://tryruby....

It might lead you thru the basics for arrays...

--
Phlip

as

8/16/2008 8:30:00 AM

0

Le Fri, 15 Aug 2008 18:06:38 -0500,
Daniel Kindler <gizabo@yahoo.com> a écrit :

> array = []
> num = gets.to_i
> while num != 0
> num = gets.to_i
> array << num
> end
> puts array.sort.join(',')
> works well so far
> Now, how would i take the numbers in the array, and add them......

puts array.inject {|sum,n| sum+n}

(http://www.ruby-doc.org/core/classes/Enume...)

--
Arnaud Schmittbuhl