- 04.09.2017 11:14
- Информатика
- remove_red_eye 14993
- thumb_up 30
Ответы и объяснения 2
i,cnt,n,max,maxi,sum: integer;
a: array [1..50] of integer;
begin
Readln(n);
For i:= 1 to n do
Read(a[i]);
max:=a[1];maxi:=1;
for i:= 2 to n do
if a[i]> max then
begin
max:=a[i];
maxi:=i;
end;
if maxi > (n div 2 + n mod 2) then
begin
for i:= (n div 2 + n mod 2)+1 to n do
if a[i] < 0 then sum:= sum + a[i];
if sum = 0 then Writeln('Отрицательных чисел во второй половине нет!')
else Writeln(sum);
halt;
end;
for i:= 1 to (n div 2) do
sum:= sum + a[i];
Writeln('Среднее: ', sum/(n div 2));
end.
- 05.09.2017 00:11
- thumb_up 31
// Внимание! Если программа не работает, обновите версию!
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.
- 06.09.2017 17:54
- thumb_up 16
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.