just update
[rwork.git] / domaca_20_4.rb
blob7bac9f304567fd18e15e34852aabdddacc9e4159
1 #na vstupe cisla, napisat ho slovom po slovensky
2 #Zisti dlzku cisla, potom postupne bude pisat cisla slovom
3 #maximalna dlzka cisla je 18 cifier #niesom si isty ako sa povie trilion * 1000 (kvatrilion)?
5 #v0.1 - v anglictine by to bolo skoro OK 
6 #v0.2 - treba upravit sklonovanie a niektore nazvy (11,12..19)
7 print "Zadaj cislo: "
8 cislo = gets.chomp.to_s
9 dlzka = cislo.length
10 if dlzka > 18 or dlzka == 0
11     puts "err"
12     exit
13 end
15 until dlzka == 18 #rozsirim na sest cifier
16     cislo = "0" + cislo
17     dlzka = dlzka + 1
18 end
20 def pis?(i)
21     if i.to_i != 0 then return 1 else return 0 end
22 end
24 preklady = [ "", "","dva ","tri ","styri ","pat ","sest ","sedem ","osem ","devat " ]
25 preklady_i = ["trilionov ", "", "", "bilionov ", "", "", "miliard ", "", "", "milionov ", "", "", "tisic ", "", "", ""]
26 desiatky = [ "desat", "jedenast", "dvanast", "trinast", "strnast", "patnast", "sestnast", "sedemnast", "osemnast", "devatnast" ]
27 out = ""
28 for i in [0,3,6,9,12,15]
29     take = cislo[i+0..i+2].to_s
30     help = take[2] + take[1] + take[0]
31     if take[1] == "1"
32         desiatka = desiatky[take[2].to_i]
33     else desiatka = (preklady[take[1].to_i] + "\bdsat ")*pis?(cislo[i+1]) + (preklady[take[2].to_i])*pis?(cislo[i+2])
34     end
35     out = out + (preklady[take[0].to_i] + "sto ")*pis?(cislo[i+0]) + desiatka + (preklady_i[i])*pis?(help)
36 end
37 if cislo[-1].chr == "1" and cislo[-2].chr != "1" then out = out + "jedna" end
38 puts out