Menu
Coddy logo textTech

Методы массивов

Часть раздела Основы путешествия по Ruby на Coddy — урок 61 из 88.

Ruby предоставляет несколько встроенных методов, которые упрощают работу с массивами. Эти методы помогают сортировать, переворачивать и находить элементы без необходимости писать сложный код самостоятельно.

Метод sort сортирует элементы в порядке возрастания:

numbers = [3, 1, 4, 1, 5]
puts numbers.sort  # Выводит: 1, 1, 3, 4, 5

Чтобы изменить порядок элементов на обратный, используйте метод reverse:

letters = ["a", "b", "c"]
puts letters.reverse  # Вывод: c, b, a

Вы можете комбинировать эти методы для сортировки в порядке убывания:

scores = [85, 92, 78, 95]
puts scores.sort.reverse  # Вывод: 95, 92, 85, 78

Методы min и max быстро находят наименьшее и наибольшее значения:

prices = [29, 15, 42, 8]
puts prices.min  # Выводит: 8
puts prices.max  # Выводит: 42

Чтобы вычислить сумму числовых элементов, используйте sum:

quantities = [2, 5, 3]
puts quantities.sum  # Выводит: 10

Обратите внимание, что sort и reverse возвращают новые массивы, не изменяя исходный. Чтобы изменить исходный массив напрямую, добавьте ! к имени метода, например sort! или reverse!.

challenge icon

Задание

Легко

Прочитайте одну строку входных данных, содержащую целые числа, разделенные запятыми (например, 5,2,8,1,9,3).

Разделите входные данные на массив целых чисел, а затем выведите следующее на отдельных строках:

  1. Массив, отсортированный по возрастанию (каждый элемент на отдельной строке)
  2. Массив, отсортированный по убыванию (каждый элемент на отдельной строке)
  3. Минимальное значение
  4. Максимальное значение
  5. Сумма всех элементов

Для наглядности выводите пустую строку между каждым разделом.

Например, если входные данные 5,2,8,1,9,3, вывод должен быть следующим:

1
2
3
5
8
9

9
8
5
3
2
1

1
9
28

Если входные данные 10,30,20, вывод должен быть следующим:

10
20
30

30
20
10

10
30
60

Если входные данные 7,3,5,1, вывод должен быть следующим:

1
3
5
7

7
5
3
1

1
7
16

Шпаргалка

Ruby предоставляет встроенные методы для работы с массивами:

Метод sort упорядочивает элементы по возрастанию:

numbers = [3, 1, 4, 1, 5]
puts numbers.sort  # Выводит: 1, 1, 3, 4, 5

Метод reverse меняет порядок элементов на обратный:

letters = ["a", "b", "c"]
puts letters.reverse  # Выводит: c, b, a

Комбинируйте методы для сортировки в порядке убывания:

scores = [85, 92, 78, 95]
puts scores.sort.reverse  # Выводит: 95, 92, 85, 78

Методы min и max находят наименьшее и наибольшее значения:

prices = [29, 15, 42, 8]
puts prices.min  # Выводит: 8
puts prices.max  # Выводит: 42

Метод sum вычисляет сумму числовых элементов:

quantities = [2, 5, 3]
puts quantities.sum  # Выводит: 10

Примечание: sort и reverse возвращают новые массивы, не изменяя исходный. Чтобы изменить исходный массив, используйте sort! или reverse!.

Попробуйте сами

# Прочитать целые числа, разделенные запятыми
input = gets.chomp

# TODO: Напишите свой код ниже
# 1. Разделить входные данные на массив целых чисел
# 2. Отсортировать массив по возрастанию и вывести каждый элемент
# 3. Вывести пустую строку
# 4. Отсортировать массив по убыванию и вывести каждый элемент
# 5. Вывести пустую строку
# 6. Вывести минимальное значение
# 7. Вывести максимальное значение
# 8. Вывести сумму всех элементов
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы