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;
}
Vă mulțumim că ați ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, vă rugăm să ne contactați. Revenirea dumneavoastră ne va bucura, iar pentru acces rapid, nu uitați să ne salvați la favorite!