Advertisement
Guest User

Untitled

a guest
May 30th, 2015
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 2.53 KB | None | 0 0
  1. #ogolnie ten mlody zjeb sobie wymyslil ze bedzie liczyl kolka w liczbie np 0 ma jedno kolko, 1 ma 0 kolek 6 ma jedno kolko, 8 ma 2 no i tak dalej wiec jest ogolnie taka zasada
  2. def odszyfrujLiczbe(liczba) #funkcja odszyfrowujaca liczbe ktorej argumentem jest liczba ogolnie funkcja przeladuje przez kazda cyfre w liczbie i jezeli cyfra ma w srodku kolko to dodaje do zmiennej odszyfrowana ilosc kolek jaka zawiera dana cyfra
  3.   odszyfrowana = 0 #zmienna odszyfrowana
  4.   for i in 0..liczba.length-1 #liczba.length zwraca ilosc elementow w talibcy
  5.     if liczba[i] == "0" || liczba[i] == "6" || liczba[i] == "9"
  6.       odszyfrowana += 1
  7.     elsif liczba [i] == "8"
  8.       odszyfrowana += 2
  9.     end
  10.   end
  11.   return odszyfrowana #zwraca liczbe odszyfrowana
  12. end
  13.  
  14. puts "Podaj liczbę testów"#wyrzuca en ekran#
  15. testow = gets.to_i #wczytanie zmiennej testow, gets wrzutuje, .to_i konwersja strina na inta
  16.  
  17. najmnarray = [] # tablica do ktorej bedziemy wrzucac wyniki
  18. najwiekarray = []
  19.  
  20. testow.times do
  21.   dane = gets # wczytuje do zmiennej dane
  22.   dane_splitted = dane.split("\s").map { |s| s.to_i } #zmiennej dane splitted nadaje wartosc wczytanych wczesniej danych .split("\s") dzieli elemy stringa jesli napotka spacje, .map { |s| s.to_i } konwertuje otrzymaja tablice ze stringow na inty
  23.  
  24.   if dane_splitted.count != 6 # kazdy zestaw skalda sie z 6 liczb wiec jezeli liczba elemetnow w talicy dane_splitted jest rozna od 6 wywala blad. .count zwraca liczbe elementow w tablicy
  25.     puts "Wprowadzona ilosc danyh jest niepoprawna, zamykam program" #wyrzuca na ekran
  26.     exit! #zamyka program
  27.   end
  28.  
  29.   for i in 1..dane_splitted.count-1 # petla ktora przelatuje przez wszystkie liczby w tablicy i sprawdza czy sa zgodne z danymi z zdania jesli nie to wywala blad
  30.     if dane_splitted[i] <= 0 || dane_splitted[i] > 999
  31.       puts "Dane nie sa z poprawnego przedzialu, zamykam program"
  32.       exit!
  33.     end
  34.   end
  35.  
  36.   najmnarray << odszyfrujLiczbe(dane_splitted.min.to_s) #wrzuca do tablicy najmn array zwrocona przez funjcje odszufrujliczbe, artumentrem tej funkcji jest najmniejsza liczba w tablicy dane_splitted .min zwraca najmniejsza liczbe w tablicy .to_s konwertuje ta liczbe do stringa
  37.   najwiekarray << odszyfrujLiczbe(dane_splitted.max.to_s) #to samo co linijke wyzej tylko ze akgumentem jest maksymalna liczba .max zwraca max liczbe z tablicy
  38.   end
  39.  
  40. for i in 0..najwiekarray.count - 1 #petla ktora wyrzuca po kolei dane z tablicy najmnarray i najwiekarray, oddzielajac je spacja tak jak bylo w zadaniu
  41.   puts "#{najmnarray[i]} #{najwiekarray[i]}"
  42. end #kóniec
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement