Сортировка по сумме цифр
Напишите программу, которая сортирует натуральные числа в массиве по убыванию суммы цифр десятичной записи числа. При равенстве сумм цифр числа должны сохранить исходный порядок.
Первая строка содержит размер массива N. Во второй строке через пробел задаются N чисел — элементы массива. Гарантируется, что 0 <N≤ 1000 .
Программа должна вывести в одной строке элементы массива, отсортированного в порядке убывания суммы цифр десятичной записи числа, разделив их пробелами.
9 21 32 55 81 11
55 9 81 32 21 11
На проверке пишет, что программа выдаёт неверный ответ. Не понимаю, что не так, помогите, пожалуйста
Напишите программу которая сортирует массив по убыванию
template <typename T1, typename T2> void sort(T1 ar, T2 SIZE, T2 par);
cout<<endl<<endl<<endl;
const int SIZE = 10;
int ar[SIZE];
template <typename T1, typename T2> void sort(T1 ar, T2 SIZE, T2 par)
int tmp;
int j;
if(par==1)for(int i = 0; i<SIZE; i++)
if(par==2)for(int i = 0; i<SIZE; i++)

HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
template <typename T1, typename T2> void sort(T1 ar, T2 SIZE);
void main() SetConsoleTextAttribute(h,15);
setlocale(0,»»);
srand(time(0));
cout<<endl<<endl<<endl;
const int SIZE = 10;
int ar[SIZE];
template <typename T1, typename T2> void sort(T1 ar, T2 SIZE)
int nizotr=-1, verhotr;

HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
template <typename T1, typename T2> void Razbros (T1 ar, T2 SIZE);
template <typename T1, typename T2> void Sort (T1 ar, T2 SIZE, T2 j);
void main()
srand(time(0));
Razbros (ar, SIZE);
template <typename T1, typename T2> void Razbros (T1 ar, T2 SIZE)
for(int i = 0; i<SIZE; i++) int j = rand()%20;
tmp = ar[i];
ar[i]=ar[j];
ar[j]=tmp;
>
program n32;
var x,i:integer;
a:array [1..100] of integer;
begin
for i:=1 to 100 do a[i]:= random (500);
for i:=1 to 100 do
writeln (‘a[,i,]=’,a[i]);
begin
for i:=1 to 50 do
if a[i]>a[i+1] then
program n32;
var y,x,j,imin,imax,i:integer;
a:array [1..100] of integer;
begin
for i:=1 to 100 do a[i]:= random (500);
for i:=1 to 100 do
write (‘a[, ,]=’,a[i]);
for i:=1 to 49 do
begin
imax:=i;
for j:=i+1 to 50 do
if a[j]>a[imax] then imax:=j;
x:=a[i];
a[i]:=a[imax];
a[imax]:=x;
end;
Сортировка массива по убыванию в C++
В этом посте мы обсудим, как отсортировать массив по убыванию в C++.
Чтобы отсортировать массив в обратном/убывающем порядке, вы можете использовать std::sort алгоритм, предоставляемый STL. Он сортирует элементы контейнера в диапазоне, указанном указанными итераторами, с помощью компаратора. Используемый компаратор по умолчанию: std::less<> , который сортирует контейнер в порядке возрастания, используя operator< . Мы можем использовать std::greater<> для сортировки в порядке убывания, что делегирует вызов operator> .
Решения задач на Си в Линyкс
Напишите программу, которая методом прямого выбора сортирует по убыванию введенный с клавиатуры одномерный массив.
/*
Программа методом прямого выбора сортирует
массив по убыванию.
*/
#include «locale.h»
#include «curses.h»
#include «stdio.h»
#include «stdlib.h»
#include «time.h»
main()
<
int s[HB];
int i, j, k;
int min;
int temp;
char *log;
time_t t;
srand((unsigned) time(&t));
printw(«Сортировка массива по убыванию.\n»);
for(i = 0; i < HB; i++)
<
s[i] = rand() % 10 + 1;
printw(«%i «, s[i]);
>
for(i = 0; i < HB — 1; i++)
<
min = i;
for(k = i + 1; k < HB; k++)
if(s[k] > s[min]) min = k;
temp = s[i];
s[i] = s[min];
s[min] = temp;
for(j = 0; j < HB; j++)
printw(«%i «,s[j]);
printw(«\n»);
>