Ex 4 urgent la informatică
Răspunsuri la întrebare
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: