1.Дан одномерный массив A(N) Отсортировать массив по убыванию. Найти произведение...

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

1.Дан одномерный массив A(N) Отсортировать массив по убыванию. Найти произведение элементов массива кратных 7.
2.Дан одномерный массив B(N) Добавить в конец массива элемент, равный сумме всех значений элемента массива.
3. Дан одномерный массив C(N) Сформировать новый массив B, состоящий из элементов массива C, превышающий заданное число а; выведите на печать образованный массив и число его элементов.


Информатика (20 баллов) | 43 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1437 от 03.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
  a:=a.SortedDescending.ToArray; a.Println;
  Writeln('П=',a.Where(k->k mod 7=0).DefaultIfEmpty
      .Aggregate(1,(i,j)->i*j))
end.

Пример
n= 15
80 -59 89 66 -88 -50 -16 -30 -65 -75 28 -51 56 35 36
89 80 66 56 36 35 28 -16 -30 -50 -51 -59 -65 -75 -88
П=54880

begin
  var b:=ArrRandom(ReadInteger('n='),-99,99); b.Println;
  b:=b+Arr(b.Sum); b.Println
end.

Пример
n= 15
-36 98 64 -21 -8 57 -52 56 -58 -66 -1 -60 13 22 -79
-36 98 64 -21 -8 57 -52 56 -58 -66 -1 -60 13 22 -79 -71

begin
  var c:=ArrRandom(ReadInteger('n='),-99,99); c.Println;
  var a:=ReadInteger('a=');
  var b:=c.Where(x->x>a).ToArray;
  Write('B[',b.Count,']='); b.Println
end.

Пример
n= 16
58 -91 12 -48 -42 1 -73 5 -47 99 -80 55 -10 31 -62 0
a= 10
B[5]=58 12 99 55 31
(150k баллов)