Răspuns :
#include <iostream>
using namespace std;
int suma_cifrelor(int numar)
{
/**
* Functie care calculeaza suma cifrelor unui numar dat
*/
int suma = 0;
while(numar)
{
suma += numar % 10;
numar /= 10;
}
return suma;
}
int main()
{
int numar_de_elemente, elemente[10], suma[10] = {0};
cin >> numar_de_elemente;
for(int i = 0; i < numar_de_elemente; i++)
{
cin >> elemente[i];
suma[i] = suma_cifrelor(elemente[i]);
}
for(int i = 0; i < numar_de_elemente; i++)
for(int j = i + 1; j < numar_de_elemente; j++)
if(suma[i] < suma[j])
{
int aux = suma[i];
suma[i] = suma[j];
suma[j] = aux;
}
// Facem primul separat pentru a putea verifica daca am scris deja suma respectiva in viitor
cout << "Suma " << suma[0] << " : ";
for(int i = 0; i < numar_de_elemente; i++)
{
if(suma_cifrelor(elemente[i]) == suma[0])
{
cout << elemente[i] << " ";
}
}
cout << endl;
for(int index_suma = 1; index_suma < numar_de_elemente; index_suma++)
{
if(suma[index_suma] == suma[index_suma - 1])
continue;
bool scris = false;
cout << "Suma " << suma[index_suma] << " : ";
for(int index_element = 0; index_element < numar_de_elemente; index_element++)
{
if(suma_cifrelor(elemente[index_element]) == suma[index_suma])
{
cout << elemente[index_element] << " ";
scris = true;
}
}
if(scris)
cout << endl;
}
return 0;
}
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!