-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path4.rb
56 lines (54 loc) · 3.44 KB
/
4.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
work_array = [621, 445, 147, 159, 430, 222, 482, 44, 194, 522, 652, 494, 14, 126, 532,
387, 441, 471, 337, 446, 18, 36, 202, 574, 556, 458, 16, 139, 222, 220, 107, 82, 264, 366, 501, 319, 314, 430, 55, 336]
#узнать количество элементов в массиве
puts work_array.length
puts work_array.size
puts "------------------------------------------------------------------------"
#перевернуть массив
puts work_array.reverse
puts "------------------------------------------------------------------------"
#найти наибольшее число
puts work_array.max
puts "------------------------------------------------------------------------"
#найти наименьшее число
puts work_array.min
puts "------------------------------------------------------------------------"
#отсортировать от меньшего к большему
puts work_array.sort
puts "------------------------------------------------------------------------"
#отсортировать от большего к меньшему
puts work_array.sort.reverse
puts "------------------------------------------------------------------------"
#удалить все нечетные числа
puts work_array.each.select {|i| i.even?}
puts "------------------------------------------------------------------------"
#оставить только те числа, которые без остатка делятся на 3
puts work_array.each.select {|i| i.modulo(3) == 0}
puts "------------------------------------------------------------------------"
#удалить из массива числа, которые повторяются (то есть, нужно вывести массив, в котором нет повторов)
puts work_array.uniq
puts "------------------------------------------------------------------------"
#разделить каждый элемент на 10, в результате элементы не должны быть округлены до целого
#два способа
work_array.each do |i| puts i/10.0 end
puts work_array.map{|i| i/10.0}
puts "------------------------------------------------------------------------"
#получить новый массив, который бы содержал в себе те буквы английского алфавита,
# порядковый номер которых есть в нашем массиве
characters_work_array = work_array.each.select {|i| (i.between?(65,90) or i.between?(97,122))}
puts characters_work_array.map{|i| i.chr}
puts "------------------------------------------------------------------------"
#поменять местами минимальный и максимальный элементы массива
a = work_array.index(work_array.max)
b = work_array.index(work_array.min)
work_array[a], work_array[b] = work_array[b],work_array[a]
puts work_array
puts "------------------------------------------------------------------------"
#найти элементы, которые находятся перед минимальным числом в массиве
puts work_array[0..work_array.index(work_array.min)-1]
puts "------------------------------------------------------------------------"
#необходимо найти три наименьших элемента
puts work_array.sort[0..2]
#выводим весь массив
puts "------------------------------------------------------------------------"
puts work_array