Răspuns :
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
int sum_cif(int x) {
int sum = 0;
while (x != 0) {
sum += x % 10;
x /= 10;
}
return sum;
}
int main() {
ifstream fin("sortsum.in");
ofstream fout("sortsum.out");
int sir[1000], sir_sum_cif[1000], n = 0;
while (fin >> sir[n]) {
sir_sum_cif[n] = sum_cif(sir[n]);
n++;
}
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (sir_sum_cif[i] > sir_sum_cif[j]) {
swap(sir_sum_cif[i], sir_sum_cif[j]);
swap(sir[i], sir[j]);
}
if (sir_sum_cif[i] == sir_sum_cif[j] && sir[i] < sir[j]) {
swap(sir_sum_cif[i], sir_sum_cif[j]);
swap(sir[i], sir[j]);
}
}
}
for (int i = 0; i < n; i++)
fout << sir[i] << " ";
return 0;
}