С клавиатуры введен рост учеников (N количество) класса в виде множества.Нужно найти...

0 голосов
61 просмотров

С клавиатуры введен рост учеников (N количество) класса в виде множества.Нужно найти средний рост учеников


Информатика (15 баллов) | 61 просмотров
0

Глупое, совершенно надуманное задание, которое как раз показывает, когда множества применять НЕ НУЖНО.

0

Особенность множества в том, что все его элементы различны. Это означает, что если рост (пусть в классе 30 учеников) вводить как множество, надо ввести 30 РАЗНЫХ значений роста. одинаковые просто будут утеряны и тогда получится неверный ответ.

Дан 1 ответ
0 голосов
Правильный ответ

// PascalABC.Net 3.0, сборка 1066
var
  i,n,k,h,a:integer;
  s:set of 120..180;
begin
  Write('Количество учеников: '); Read(n);
  Writeln('Введите рост учеников');
  for i:=1 to n do begin Read(h); s:=s+[h] end;
  k:=0; a:=0;
  for i:=120 to 180 do
    if i in s then begin Inc(k); a:=a+i end;
  Writeln('Средний рост равен ',a/k)
end.

(142k баллов)
0

Поменял ввод на "школьный вариант"