Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 504

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
Дано:
type имя=(Валентина,Евгений,Геннадий,Мария,Нина,Александр,Татьяна,Федор,Ольга);
var Пол:array[имя] of (муж., жен.);
Рост:array[имя] оf 150-200;
По массивам Пол и Рост определить имена наивысшего мужчины и женщины и средний рост мужчин и женщин.
Заранее благодарю!

Renya060 Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Renya060 (статус: Посетитель)
Вопрос отправлен: 9 декабря 2009, 01:03
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: min@y™

Поскольку вопроса я тут не вижу, а проснуться с утра мне необходимо (работать надо), решил написать прогу целиком. Паскаль откапывать не стал, ибо влом, сделал консольку на Delphi. Скопипастил в приложение.

Приложение:
  1. program p3504;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6. SysUtils;
  7.  
  8. type
  9. TName = (Valentina,
  10. Evgeny,
  11. Gennady,
  12. Mariya,
  13. Nina,
  14. Alexandr,
  15. Tatyana,
  16. Fedor,
  17. Olga);
  18.  
  19. TGender = (Male, Female);
  20. THeight = 150..200;
  21.  
  22. const
  23. Names: array[TName] of string = ('Valentina',
  24. 'Evgeny',
  25. 'Gennady',
  26. 'Mariya',
  27. 'Nina',
  28. 'Alexandr',
  29. 'Tatyana',
  30. 'Fedor',
  31. 'Olga');
  32.  
  33. Genders: array[TName] of TGender = (Female,
  34. Male,
  35. Male,
  36. Female,
  37. Female,
  38. Male,
  39. Female,
  40. Male,
  41. Female);
  42.  
  43. var
  44. Heights: array[TName] of THeight;
  45.  
  46.  
  47.  
  48.  
  49.  
  50. procedure WritePerson(AName: TName);
  51. const
  52. Gender: array[TGender] of string = ('Male', 'Female');
  53. begin
  54. WriteLn(Names[AName], ', ', Gender[Genders[AName]], ', ', Heights[AName]);
  55. end;
  56.  
  57. begin
  58.  
  59. Randomize;
  60. for Name:= Low(TName) to High(TName) do
  61. begin
  62. Heights[Name]:= Random(51) + 150;
  63. WritePerson(Name);
  64. end;
  65.  
  66. WriteLn;
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75. {$B-}
  76.  
  77. for Name:= Low(TName) to High(TName) do
  78. if Genders[Name] = Male
  79. then begin
  80.  
  81. if (MCount = 0) or (Heights[TallestMan] < Heights[Name])
  82. then TallestMan:= Name;
  83.  
  84.  
  85.  
  86. end
  87. else begin
  88.  
  89. if (WCount = 0) or (Heights[TallestWoman] < Heights[Name])
  90. then TallestWoman:= Name;
  91.  
  92.  
  93.  
  94. end;
  95.  
  96.  
  97. WriteLn('Tallest people: ');
  98. if MCount <> 0
  99. then begin
  100. WritePerson(TallestMan);
  101. AverageManHeight:= AverageManHeight / MCount;
  102. WriteLn(' Male average height: ', AverageManHeight: 3: 3);
  103. end
  104. else WriteLn(' Men not found.');
  105. if WCount <> 0
  106. then begin
  107. WritePerson(TallestWoman);
  108. AverageWomanHeight:= AverageWomanHeight / WCount;
  109. WriteLn(' Female average height: ', AverageWomanHeight: 3: 3);
  110. end
  111. else WriteLn(' Women not found.');
  112.  
  113. ReadLn;
  114. end.


Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 9 декабря 2009, 09:23
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 1; последнее сообщение — 9 декабря 2009, 14:51; участников в обсуждении: 1.
Жикльор

Жикльор (статус: 5-ый класс), 9 декабря 2009, 14:51 [#1]:

Renya060, в следующий раз задавайте конкретный вопрос, а не целую задачу! Мы задачи не решаем, мы их помогаем решить!
Если бы строители строили дома так, как программисты пишут программы, то первый же дятел уничтожил бы цивилизацию.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:27
Выполнено за 0.03 сек.