![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
СРОЧНО!!!! Известны фамилии, пол, вес 5 человек. Определить мужчину с наибольшим весом.
Подскажите, как это сделать? Какую процедуру или алгоритм использовать? А то Я совсем потеряный... ![]() Последний раз редактировалось vitos_kelter, 02.04.2012 в 19:32. |
|
#2
|
||||
|
||||
|
Код:
program Who;
type
ManInfo = record
Surname: String[16];
Weight: Integer;
IsMale: Boolean;
end;
var
i, j: Integer;
Mans: array [1..5] of ManInfo;
c: Char;
begin
for i := 1 to 5 do
begin
write('Введите фамилию человека: ');
Readln(Mans[i].Surname);
write('Введите вес: ');
Readln(Mans[i].Weight);
write('Это мужчина? [y/n]: ');
Readln(c);
Mans[i].IsMale := c in ['y', 'Y'];
end;
j := 0;
for i := 1 to 5 do
if Mans[i].IsMale then
begin
if j = 0 then j := i
else
if Mans[i].Weight > Mans[j].Weight then j := i;
end;
if j = 0 then
Writeln('Среди людей нет мужчин')
else Writeln('Мужчина с наибольшим весом: ' + Mans[j].Surname);
Readln;
end. |
|
#3
|
||||
|
||||
|
Я бы для начала отсортировал по убыванию веса, а затем выбрал первого мужчину.
|