From e31af497708c7cbff84aeb749b975d612d76c4e3 Mon Sep 17 00:00:00 2001 From: AnteronGitHub Date: Fri, 22 Jan 2016 15:41:46 +0200 Subject: [PATCH] =?UTF-8?q?koodi=20p=C3=A4ivitetty?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- koodi.rb | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/koodi.rb b/koodi.rb index 932f2b3..b28cc20 100644 --- a/koodi.rb +++ b/koodi.rb @@ -1 +1,29 @@ # kirjoita koodi tänne +def add_ordered(a, x) + i = 0 + while a[i] != nil && a[i] < x do + i += 1 + end + a.insert(i, x) + a +end + +def luokittelu(a) + h = {:negatiivinen=>[], :positiivinen=>[], :parillinen=>[], :pariton=>[], :summa=>0} + + a.each do |value| + h[:summa] += value + if value < 0 + h[:negatiivinen] = add_ordered(h[:negatiivinen], value) + else + h[:positiivinen] = add_ordered(h[:positiivinen], value) + end + + if value%2 == 0 + h[:parillinen] = add_ordered(h[:parillinen], value) + else + h[:pariton] = add_ordered(h[:pariton], value) + end + end + h +end \ No newline at end of file