Напишите программу на языке C++, которая упорядочивает элементы массива по возрастанию последней цифры чисел

Напишите программу на языке C++, которая упорядочивает элементы массива по возрастанию последней цифры чисел в их десятичной записи. Входные данные состоят из двух строк. Первая строка содержит размер массива n, а вторая строка содержит n чисел, разделенных пробелами - элементы массива. Гарантируется, что 0 < n ≤ 10000. Результат программы должен быть выведен в одной строке и содержать элементы массива, отсортированные в порядке возрастания последней цифры в их десятичной записи. Если числа имеют одинаковую последнюю цифру, они должны быть выведены в том же порядке, в котором они были в исходном массиве. Ниже приведены примеры работы программы.
Veselyy_Kloun

Veselyy_Kloun

Хорошо, чтобы упорядочить элементы массива по возрастанию последней цифры чисел в их десятичной записи, мы можем использовать алгоритм сортировки пузырьком. Вот программа на языке C++, которая решает данную задачу:

cpp
#include
#include
#include

// Функция для сравнения двух чисел по последней цифре
bool compareByLastDigit(int a, int b) {
return a % 10 < b % 10;
}

int main() {
int n;
std::cin >> n;

std::vector arr(n);
for (int i = 0; i < n; i++) {
std::cin >> arr[i];
}

// Сортируем массив с использованием compareByLastDigit
std::sort(arr.begin(), arr.end(), compareByLastDigit);

// Выводим отсортированный массив
for (int i = 0; i < n; i++) {
std::cout << arr[i] << " ";
}

return 0;
}


Давайте разберемся, как эта программа работает.

1. Сначала мы объявляем необходимые библиотеки для работы с массивами, векторами и алгоритмами C++.

2. Затем мы объявляем функцию compareByLastDigit, которая будет сравнивать два числа по последней цифре. Функция возвращает true, если последняя цифра числа a меньше, чем последняя цифра числа b.

3. В функции main мы считываем размер массива n с помощью std::cin и создаем вектор arr размером n.

4. Затем мы считываем элементы массива с помощью цикла for, используя std::cin.

5. Далее мы сортируем массив arr с использованием std::sort и передаем функцию compareByLastDigit в качестве аргумента. Это означает, что элементы массива будут упорядочены по последней цифре в их десятичной записи.

6. Наконец, мы выводим отсортированный массив с помощью цикла for и std::cout.

Таким образом, данная программа сортирует элементы массива по возрастанию последней цифры чисел в их десятичной записи и выводит результат. Пожалуйста, не стесняйтесь задавать вопросы, если что-то не ясно.
Знаешь ответ?
Задать вопрос
Привет!
hello