Предмет: Информатика, автор: SaMaH

Решить срочно за 100 баллов
111111111111111111

Приложения:

Ответы

Автор ответа: Аноним
0
// PascalABC.NET 3.3, сборка 1627 от 27.01.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('n=');
  var a:=ArrRandom(n,-50,50); a.Println;
  var (imax,half):=(a.IndexMax,n div 2);
  if n.IsEven then // все хорошо
    if imax>=half then begin
      var sn:=a[half:].Where(t->t<0).Sum;
      if sn=0 then Writeln('Во второй половине вектора нет отрицательных')
      else Writeln('Сумма равна ',sn)
      end
    else Writeln('Среднее арифметическое равно ',a[:half].Average)
  else // не учитывать средний
    if imax=half then
      Writeln('Максимальный элемент попал в неучитываемую точку')
    else
      if imax>half then begin
        var sn:=a[half+1:].Where(t->t<0).Sum;
        if sn=0 then Writeln('Во второй половине вектора нет отрицательных')
        else Writeln('Сумма равна ',sn)
        end
      else Writeln('Среднее арифметическое равно ',a[:half].Average)
end.
Похожие вопросы
Предмет: Математика, автор: sumbajkinaamina
Предмет: Литература, автор: 8fycky2hgx
Предмет: Обществознание, автор: bur6skrinochradimah