Informatică, întrebare adresată de lupseafabianovidiu, 8 ani în urmă

Ex 4 urgent la informatică

Anexe:

Răspunsuri la întrebare

Răspuns de misterL
1

Răspuns:

#include<iostream>

using namespace std;

int n,a[2][101],i,j,aux,s;

int main()

{

   cin>>n;

   for(i=1;i<=n;i++)

   {

       cin>>a[0][i];//retine nr de poz i

       aux=a[0][i];

       s=0;//retine suma cifrelor nr curent

       while(aux)

       {

           s+=aux%10;

           aux/=10;

       }

       a[1][i]=s;//retine suma cifrelor nr de poz i

   }

   //sortare prin selectie

   for (i = 1; i < n; i++) {

   int mini,iMin;

   mini = a[1][i]; iMin = i;

   for (j = i + 1; j <= n; j++)

       if (a[1][j] < a[1][iMin]) {

           mini = a[1][j];

           iMin = j;

       }

       else if(a[1][j] == a[1][iMin] && a[0][j] < a[0][iMin])

       {

           mini = a[1][j];

           iMin = j;

       }

   swap(a[1][i],a[1][iMin]);

   swap(a[0][i],a[0][iMin]);

   }

   for(i=1;i<=n;i++)

   cout<<a[0][i]<<" ";

   return 0;

}

Explicație:

Alte întrebări interesante