Ввести одномерный массив X(N). Определить в нем среднее арифметическое отрицательных...

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

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


Информатика (27 баллов) | 71 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// 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);<br>    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
(150k баллов)
0

Спасибо!!!!!!!!!!!!!

0

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

0

понятно. Спасибо!