#include <stdio.h>
#include <stdlib.h>
typedef struct Cos { short val,num; } Cos;
int compare_cos(const void * a, const void * b)
{
short A=(*((Cos**)a))->val,B=(*((Cos**)b))->val;
return (A<B)-(B<A);
}
int main(int argc, char const *argv[])
{
int i;
Cos *tab[10];
for(i=0;i<10; ++i)
{
c->val=i+1;
c->num=i+1;
tab[i]=c;
printf("%hd %hd\n",c
->val
,c
->num
); }
qsort(tab
,10,sizeof(Cos
),compare_cos
); for(i
=0;i
<10;++i
) printf("%hi %hi\n",tab
[i
]->val
,tab
[i
]->num
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KIAp0eXBlZGVmIHN0cnVjdCBDb3MgeyBzaG9ydCB2YWwsbnVtOyB9IENvczsKIAppbnQgY29tcGFyZV9jb3MoY29uc3Qgdm9pZCAqIGEsIGNvbnN0IHZvaWQgKiBiKQogIHsKICAgc2hvcnQgQT0oKigoQ29zKiopYSkpLT52YWwsQj0oKigoQ29zKiopYikpLT52YWw7CiAgIHByaW50ZigiJWhkIDw+ICVoZCBcbiIsQSxCKTsKICAgcmV0dXJuIChBPEIpLShCPEEpOwogIH0KIAppbnQgbWFpbihpbnQgYXJnYywgY2hhciBjb25zdCAqYXJndltdKQogIHsKICAgaW50IGk7CiAgIENvcyAqdGFiWzEwXTsKICAgZm9yKGk9MDtpPDEwOyArK2kpCiAgICAgewogICAgICBDb3MgKmM9bWFsbG9jKHNpemVvZihDb3MpKTsKICAgICAgYy0+dmFsPWkrMTsKICAgICAgYy0+bnVtPWkrMTsKICAgICAgdGFiW2ldPWM7CiAgICAgIHByaW50ZigiJWhkICVoZFxuIixjLT52YWwsYy0+bnVtKTsKICAgICB9CiAgIHByaW50ZigiXG5TT1JUT1dBTklFOlxuIik7CiAgIHFzb3J0KHRhYiwxMCxzaXplb2YoQ29zKSxjb21wYXJlX2Nvcyk7CiAgIGZvcihpPTA7aTwxMDsrK2kpIHByaW50ZigiJWhpICVoaVxuIix0YWJbaV0tPnZhbCx0YWJbaV0tPm51bSk7CiAgIHJldHVybiAwOwogIH0=