Помогите отсортировать. Записи
Имеются сведения об обеспеченности жильем N работников предприятия: фамилия работника, количество человек в семье, количество кв. метров жилой площади. Также известно количество K новых квартир, которые получает предприятие. Требуется отпечатать список K работников, претендующих на новое жилье, полагая, что у всех работников разное количество кв. метров на человека.
Не могу отсортировать min количество кв.метров на человека. Спасибо! program sp; uses crt; const n=3; type spisok=record fio:string; kolchel:integer; kolkvmetrov:real; metrnachel:real; end; var i,K:integer; min:real; rabotnik:array[1..n] of spisok; begin clrscr; i:=0; for i:=1 to n do with rabotnik[i] do begin writeln('vvedite svedenia o rabotnike'); writeln('vvedite fam, name, otch'); readln(fio); writeln('vvedite kolichestvo chel'); readln(kolchel); writeln('vvedite kolichestvo kvad.metrov'); readln(kolkvmetrov); metrnachel:=kolkvmetrov/kolchel; end; write('K:='); readln(K); writeln('spisok rabotnikov:'); min:=rabotnik[1].metrnachel; for i:=1 to n do begin if rabotnik[1].metrnachel<=min then begin min:=rabotnik[i].metrnachel; write(rabotnik[i].fio,' '); write('kolichestvo kvadrat. metrov na 1 cheloveka:',' '); write(min,' '); end; end; readln; end. |
Цитата:
if rabotnik[1].metrnachel<=min then, а if rabotnik[i].metrnachel<=min then Кроме того, подправил и подчистил программу, например, убрал в начале абсолютно ненужное обнуление переменной цикла (i:=0), выбросил K - оно не используется, отредактировал вывод - вместо write('kolichestvo kvadrat. metrov na 1 cheloveka:',' '); write(min,' '); сейчас write('kolichestvo kvadrat. metrov na 1 cheloveka: '); writeln(min:5:1); . Итого: Код:
program sp; |
Цитата:
Получается если min у второго работника, то в выводе он не отображается. |
Цитата:
|
Спасибо!!!Vladimir_S:tehnari_ru_674:
|
Часовой пояс GMT +4, время: 19:34. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.