Rezolvare completă PbInfo #130 SortCif

Se dă un vector cu n elemente numere întregi.

Cerinţa

Să se ordoneze crescător elementele unui vector crescător după suma cifrelor.

Date de intrare

Fişierul de intrare sortcif.in conţine pe prima linie numărul n si pe a doua linie n numere întregi separate prin spaţii.

Date de ieşire

Fişierul de ieşire sortcif.out va conţine pe prima linie cele n elemente ale vectorului, ordonate conform cerinței, separate printr-un spațiu.

Restricţii şi precizări

  • 0 < n ≤ 100
  • valoarea absolută a numerelor de pe a doua linie a fişierului de intrare va fi mai mică decât 230.

Exemplu

sortcif.in

6
89 22 91 4005 51 721

sortcif.out

22 51 4005 91 721 89 

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema SortCif:

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

ifstream fin("sortcif.in");
ofstream fout("sortcif.out");

int n, a[105];

int sumcif(int n){
    int s=0;
    while(n)
        s+=n%10, n/=10;
    return s;
}

bool maimic(int a,int b){
    return sumcif(a)<sumcif(b);
}

int main(){
    fin >> n;
    for(int i=0;i<n;++i)
        fin >> a[i];
    sort(a,a+n,maimic);
    for(int i=0 ; i<n ; ++i)
        fout << a[i] << " ";
    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #130 SortCif

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #130 SortCif de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!