Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Definovani poli a promennych
- output = []
- nasobeni = []
- vysledek = 0
- longest_line = 0
- #Vyzve k zadani dvou cisel a operace
- print "Zadejte 1. cislo: "
- cislo1 = gets.to_i
- print "Zadejte 2. cislo: "
- cislo2 = gets.to_i
- print "Zadejte operaci: "
- operator = gets.strip
- puts ""
- #Rozhodnuti o operace
- case operator
- when "+"
- vysledek = cislo1 + cislo2
- when "-"
- vysledek = cislo1 - cislo2
- when "*"
- vysledek = cislo1 * cislo2
- end
- #Prirazeni polozek do pole
- output << cislo1.to_s
- output << operator + cislo2.to_s
- output << vysledek.to_s
- #Zjisteni nejdelsiho radku
- output.each do |radek|
- longest_line = radek.length if (longest_line < radek.length)
- end
- #Vlozeni separatoru
- output.insert(2,"-" * longest_line)
- #Vypis vypoctu
- #Prvni pripad kdy se vypise scitani, odcitani a nasobeni jednim cislem
- unless (operator == "*" and cislo2.to_s.length > 1)
- output.each do |i|
- puts i.rjust(longest_line)
- end
- else
- #Druha varianta ktera se vypise v pripade ze cislo kterym nasobime obsahuje dve a vice cisel
- longest_line = 0
- nasobeni << cislo1.to_s
- nasobeni << operator + cislo2.to_s
- #Vytvoreni a vlozeni separatoru
- nasobeni.each do |radek|
- longest_line = radek.length if (longest_line < radek.length)
- end
- nasobeni << "-" * longest_line
- # Postupne nasobi vsemi cisly z 2. cisla odzadu 1. cislo
- input = [cislo2.to_s]
- input[0].length.times do |i|
- i = i +1
- nasobeni << (input[0][input[0].length-i,1].to_i * cislo1).to_s + " " * (i - 1)
- end
- nasobeni << vysledek.to_s
- #Vytvoreni a vlozeni druheho sepratoru
- nasobeni.each do |radek|
- longest_line = radek.length if (longest_line < radek.length)
- end
- nasobeni.insert(-2, "-" * longest_line)
- #Vysledny vypis
- nasobeni.each do |vystup|
- puts vystup.rjust(longest_line)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement