Здравствуйте, W4rmonger!
Из условия задачи, дан табельный номер и к нему прилогается зарплата.
Т.е. работник № 5 зарплата = 30000 рублей.
В идеале это список записей из двух полей: табельный номер и зарплата.
Чтобы упростить задачу можно структуры не вводить табель представить в виде двумерного массива
int Tabel[50][2], т.е. два столбца, а сотрудников допустим 50
Возращаясь к нашему работнику № 5, в табеле он стоит допустим на первом (втором если с нуля считать) месте:
Tabel[1][0] = 5;
Tabel[1][1] = 30000;
И так далее...
Отсортировать это все дело можно например пузырьком
Код в приложении не претендует на идеальность, на правильность не проверял. Он только показывает логику работы пузырька (если вы вдруг не знаете). Можно отсортировать и стандартными средствами, однако обязательно нужно указать функцию сравнения (в стд функция мельше).
А далее выводим на экран уже отсортированный массив.
Приложение:
int buf[2];bool Tran(true);while (Tran){ Tran = false; for (int i(1); i< 50; i++) if (Tabel[i-1][1] > Tabel[i][1]) { buf[0] = Tabel[i-1][0]; buf[2] = Tabel[i-1][1]; Tabel[i-1][0] = Tabel[i][0]; Tabel[i-1][1] = Tabel[i][1]; Tabel[i][0] = buf[0]; Tabel[i][1] = buf[1]; Tran = true; }}