Advertisement
Guest User

challenge 98

a guest
Sep 15th, 2012
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.63 KB | None | 0 0
  1. def table(str)
  2.     str = str.split(" ")
  3.     space = 0
  4.     if str[0] == "+"
  5.         space = ((str[1].to_i) + (str[1].to_i)).to_s.length
  6.         puts space
  7.     elsif str[0] == "-"
  8.         space = ((str[1].to_i) - (str[1].to_i)).to_s.length
  9.         puts space
  10.     elsif str[0] == "*"
  11.         space = ((str[1].to_i) * (str[1].to_i)).to_s.length
  12.         puts space
  13.     elsif str[0] == "/"
  14.         space = ((str[1].to_f) / (str[1].to_f)).round
  15.         space = space.length
  16.         puts space
  17.     end
  18.     spce = ""
  19.     if space == 1
  20.         spce = " "
  21.     else
  22.         for x in 1..space
  23.             spce += " "
  24.         end
  25.     end
  26.     puts
  27.     puts
  28.     toprow = str[0] + " | "
  29.     cap = str[1].to_i
  30.     for i in 0..cap
  31.         toprow += i.to_s + spce
  32.     end
  33.     mstr = ""
  34.     for q in 0..toprow.length-1
  35.         mstr += "`"
  36.     end
  37.     puts toprow
  38.     puts mstr
  39.     for p in 0..cap
  40.         print p.to_s + " | "
  41.         if str[0] == "+"
  42.             for a in 0..cap
  43.                 print (p+a).to_s + spce
  44.             end
  45.             puts
  46.         elsif str[0] == "-"
  47.             for s in 0..cap
  48.                print (p-s).to_s + spce
  49.             end
  50.             puts
  51.         elsif str[0] == "*"
  52.             for m in 0..cap
  53.                 print (p*m).to_s + spce
  54.             end
  55.             puts
  56.         elsif str[0] == "/"
  57.             for d in 0..cap
  58.                 if d == 0 or p == 0
  59.                     print "e "
  60.                 else
  61.                     num = (p.to_f/d.to_f).round
  62.                     print num.to_s + spce
  63.                 end
  64.             end
  65.             puts
  66.         end
  67.     end
  68. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement