Гость Оʻzbek tili Архивный вопрос

Ввести одномерный массив X(N). Определить в нем среднее арифметическое отрицательных элементов, стоящих после первого элемента, большего 10 и среднее арифметическое всех элементов до этого элемента. Выдать на печать массив и вычисленные средние арифметические значения или сообщения о невозможности их вычислить с указанием конкретных причин.

Нет комментариев

Ответы

Гость Гость

// PascalABC.NET 3.2, сборка 1467 от 02.06.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var x:=ReadArrInteger(ReadInteger(\'n=\'));
  var p:=x.FindIndex(t->t>10);
  if p=-1 then Writeln(\'Нет элементов, больших 10\')
  else begin
    Write(\'Ср.арифм.значений до \',x[p],\' равно \');
    if p=0 then Writeln(\'0\')
    else Writeln(x[:p].Average);
    var s:=x[p+1:].Where(t->t<0);
    Write(\'Ср.арифм. отрицательных значений после \',x[p],\' равно \');
    if s.Count=0 then Writeln(\'0\')
    else Writeln(s.Average)
    end
end.

Пример
n= 12
4 1 -13 15 13 0 9 5 -12 9 4 -11
Ср.арифм.значений до 15 равно -2.66666666666667
Ср.арифм. отрицательных значений после 15 равно -11.5

комментариев 3 :
Спасибо!!!!!!!!!!!!!
а можно ещё блок-схему, если это не будет наглостью с моей стороны. За ранее , спасибо!
понятно. Спасибо!