Информатика, вопрос задал FrinteZza , 8 лет назад

C клавиатуры заполнен массив из 30 элементов. Составьте фрагмент программы для решения следующих задач:
1.Найти количество четных чисел.Для проверки использовать подпрограмму.
2.Найти среднее арифметическое двузначных чисел кратных 3, но не кратных 9. В случае если таких элементов нет вывести на экран -1.
3.Найти наибольшую длину цепочки четных элементов массива.
4. Удалить элемент массива и сдвинуть оставшиеся элементы. Номер удаляемого элемента вводится с клавиатуры.
5.Вывести на экран второй максимум массива

Ответы на вопрос

Ответил Аноним
0
PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  var a:=ReadArrInteger(30);
  Writeln('1. Количество четных ',a.Where(t->t.IsEven).Count);
  var s:=a.Where(t->(t mod 3=0) and (t mod 9<>0) and t.Between(10,99));
  Write('2. Мудреное среднее арифметическое ');
  if s.Count=0 then Writeln(-1) else Writeln(s.Average);
  Write('3. Наибольшая длина цепочки четных элементов ');
  var (l,l1):=(-1,0);
  foreach var t in a do
    if t.IsEven then l1+=1
    else begin
      l:=Max(l,l1);
      l1:=0
      end;
  Writeln(l);
  var k:=ReadInteger('4. Номер удаляемого элемента (1-30):')-1;
  Writeln('Массив после удаления элемента');
  a:=a?[:k]+a?[k+1:]; a.Println;
  Write('5. Второй максимум ');
  a.OrderByDescending(t->t).Skip(1).Take(1).Println
end.

Пример
40 -116 91 -47 14 -10 -88 81 92 -106 121 133 -49 69 50 -60 49 57 30 49 60 106 -94 50 -32 -52 -60 -96 148 -49
1. Количество четных 19
2. Мудреное среднее арифметическое 54
3. Наибольшая длина цепочки четных элементов 9
4. Номер удаляемого элемента (1-30): 7
Массив после удаления элемента
40 -116 91 -47 14 -10 81 92 -106 121 133 -49 69 50 -60 49 57 30 49 60 106 -94 50 -32 -52 -60 -96 148 -49
5. Второй максимум 133
Новые вопросы