Вот как я решил эту задачу на языке Python⁚
import random
def sort_array(arr)⁚
# Создаем словарь, где ключом будет последняя цифра числа, а значением ー список чисел
numbers {}
# Заполняем словарь
for num in arr⁚
last_digit num % 10
if last_digit not in numbers⁚
numbers[last_digit] []
numbers[last_digit].append(num)
# Сортируем каждый список чисел в словаре
for key in numbers⁚
numbers[key].sort
# Создаем отсортированный массив
sorted_arr []
for i in range(10)⁚
if i in numbers⁚
sorted_arr.extend(numbers[i])
return sorted_arr
# Заполняем массив случайными числами
arr [random.randint(10, 100) for _ in range(10)]
# Печатаем исходный массив
print(″Исходный массив⁚″, arr)
# Сортируем массив
sorted_arr sort_array(arr)
# Печатаем отсортированный массив
print(″После сортировки⁚″, sorted_arr)
Мы начинаем с импорта модуля `random`, чтобы генерировать случайные числа. Затем мы определяем функцию `sort_array`, которая принимает массив чисел и возвращает отсортированный массив.
Внутри функции мы создаем словарь `numbers`, где ключами будут последние цифры чисел из исходного массива, а значениями ー списки чисел с этой последней цифрой. Затем мы проходим по исходному массиву и добавляем каждое число в соответствующий список в словаре `numbers`.
Затем мы сортируем каждый список чисел в словаре `numbers`. Далее мы создаем новый пустой массив `sorted_arr` и проходимся по всем возможным последним цифрам чисел (от 0 до 9). Если в словаре `numbers` есть список чисел для текущей последней цифры, мы добавляем его в `sorted_arr`.Наконец, мы заполняем массив `arr` случайными числами и выводим исходный массив. Затем мы вызываем функцию `sort_array` и выводим отсортированный массив.В результате выполнения программы, вы получите вывод, примерно такой⁚
Исходный массив⁚ [12, 10, 31, 40, 55, 63, 28, 87, 52, 92]
После сортировки⁚ [10, 40, 31, 12, 52, 92, 63, 55, 87, 28]
Таким образом, я решил данную задачу, используя язык программирования Python.