Для заданного одномерного массива целых чисел выполнить последовательно следующие опции:...

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

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


Информатика (17 баллов) | 62 просмотров
0

да

0

помогите, пожалуйста

0

Я Вас ждал, хочу увидеть, сколько строк решение займёт - 7 или 8? :D

0

Значит в идеале должно быть 8. Begin по строке а задачу End

Дан 1 ответ
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]  Writeln('Свойство А: кол-во=',k,', сумма=',s);
  var mb:=m.Where(x->x<0).ToArray;<br>  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
(150k баллов)
0

12-13 лет

0

ахаха у нее в планах есть такой вариант с С++ на следующий год) Спасибо большое за помощь!!!

0

Вот только я понять не могу: "переписать в другой массив числа, имеющий свойство Б;" "б) положительно", то есть нужно было переписать только положительные числа?