Предмет: Информатика, автор: nastiyamoroz7l

Для заданного одномерного массива целых чисел выполнить последовательно следующие опции: найти количество и сумму чисел имеющих свойство А; переписать в другой массив числа, имеющий свойство Б; все числа, имеющие свойства В, заменить заданным числом Z1; упорядочить массив по не убыванию; удалить из него все числа, имеющие свойство Г; вставить в нужное место массива заданное число Z2, если его там нет.
а) меньше своих соседей
б) положительно
в) наименьшее
г) не кратно заданным P и Q

Ответы

Автор ответа: Аноним
0
// PascalABC.NET 3.2, сборка 1427 от 24.04.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var m:=ArrRandom(ReadInteger('n='),-20,20); m.Println;
  (var k,var s):=(0,0);
  for var i:=1 to m.Length-2 do
    if (m[i]<m[i-1]) and (m[i]<m[i+1]) then (k,s):=(k+1,s+m[i]);
  Writeln('Свойство А: кол-во=',k,', сумма=',s);
  var mb:=m.Where(x->x<0).ToArray;
  Write('Свойство Б: '); mb.Println;
  var z:=ReadInteger('Z1=');
  var mmin:=m.Min;
  m.Transform(x->x=mmin?z:x); Writeln('Свойство B:'); m.Println;
  m.Sort; Writeln('Упорядоченность по неубыванию:'); m.Println;
  var p,q:integer; Write('Введите P Q: '); Read(p,q);
  m:=m.Where(x->(x mod p<>0) and (x mod q<>0)).ToArray;
  Writeln('Свойство Г:'); m.Println;
  z:=ReadInteger('Z2=');
  p:=m.FindIndex(x->x>=z);
  if m[p]<>z then m:=(m[:p]+Arr(z)+m[p:]).ToArray;
  Writeln('После попытки вставки:'); m.Println
end.

Пример
n= 17
3 5 -5 12 -15 6 11 -7 -13 -3 -17 8 -7 8 -5 -15 -7
Свойство А: кол-во=6, сумма=-72
Свойство Б: -5 -15 -7 -13 -3 -17 -7 -5 -15 -7
Z1= -33
Свойство B:
3 5 -5 12 -15 6 11 -7 -13 -3 -33 8 -7 8 -5 -15 -7
Упорядоченность по неубыванию:
-33 -15 -15 -13 -7 -7 -7 -5 -5 -3 3 5 6 8 8 11 12
Введите P Q: 3 7
Свойство Г:
-13 -5 -5 5 8 8 11
Z2= 0
После попытки вставки:
-13 -5 -5 0 5 8 8 11
Автор ответа: Аноним
0
*Но
Похожие вопросы
Предмет: Физика, автор: valikk94