
#include <stdio.h>

int main()
{

/* Дана ведомость зарплаты сотрудников, в которой указаны табельный номер сотрудников и зарплата каждого. Вывести на экран список табельных номеров сотрудников в порядке увеличения их зарплаты.
помоготе плиз... */

/*
 * 1 Вася 20000
 * 2 Оля  15000
 * 3 Петя 10000
 */


 #define ALL 3
 
 struct HUMAN
  {
   int  num;
   char name[10];
   int  payment;
  } *HUMAN[3];
 
 
   
 struct HUMAN HUMAN1 = { 1, "Вася", 20000};
 struct HUMAN HUMAN2 = { 2, "Оля",  15000}; 
 struct HUMAN HUMAN3 = { 3, "Петя", 10000};
  
 HUMAN[0] = &HUMAN1;
 HUMAN[1] = &HUMAN2;
 HUMAN[2] = &HUMAN3;
 
 int i, j;

 
 int NUMBERS[ALL], PAYMENTS[ALL];
 for(i = 0; i < ALL; i++) { NUMBERS[i] = HUMAN[i]->num; PAYMENTS[i] = HUMAN[i]->payment; }
  
 int list_length = ALL;
 
 for(i = 0; i < ALL; i++)
  {
   for(j = 0; j < list_length - 1; j++)
    if(PAYMENTS[j] > PAYMENTS[j+1])
     {
      int temp;
      temp =  NUMBERS[j];  NUMBERS[j] =  NUMBERS[j+1];  NUMBERS[j+1] = temp; 
      temp = PAYMENTS[j]; PAYMENTS[j] = PAYMENTS[j+1]; PAYMENTS[j+1] = temp;
     }
   
   list_length--;
  }
 
 
 printf("\n"); 
 
 for(i = 0; i < ALL; i++)
  printf("Номер %d, Имя %5s, Зарплата %d\n", HUMAN[i]->num, HUMAN[i]->name, HUMAN[i]->payment );
  
 printf("\n"); 
  
 for(i = 0; i < ALL; i++) printf("Зарплата - %d\tНомер - %d\n", PAYMENTS[i], NUMBERS[i]);
 
 printf("\n"); 
 
 
 

return 0;
}
