• Предмет: Информатика
  • Автор: Трафальгар
  • Вопрос задан 11 месяцев назад

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

Входные данные
Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 .

Выходные данные
Программа должна вывести в одной строке элементы массива, отсортированного в порядке возрастания последней цифры в десятичной записи чисел, разделив их пробелами. Числа, у которых последняя цифра одинаковая, должны быть выведены в том же порядке, в котором они стояли в исходной последовательности.

Примеры
входные данные
6
219 234 890 81 73 96
выходные данные
890 81 73 234 96 219

Ответы

Ответ дал: clinteastwood2
1
//g++  5.4.0

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main()
{
    size_t N;
    cin >> N;
    vector<int> a(N);
   
    for (size_t i = 0; i < N; ++i) 
        cin >> a[i];

    sort(a.begin(), a.end(), [&] (const int &z, cinst int&x) { 
        return z % 10 < x % 10; });
   
    for (const auto &i : a)
        cout << i << " ";
}

Трафальгар: не все числа захватывает
Вас заинтересует