ХЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЛПП!!!!! 2.0Дан массив целых чисел, n=20, заполненный

ХЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЛПП!!!!! 2.0
Дан массив целых чисел, n=20, заполненный случайными числами из промежутка от -45 до 95.
1) Удалить из него все элементы, кратные 7 и принадлежащие интервалу от a до b.
2) Вставить число k между всеми примыкающими элементами, которые образуют пару частей с схожими знаками.

*числа a, b, k вводятся с клавиатуры*
*программка на языке Pascal*

Задать свой вопрос
Regina
50 баллов и делаю ибо запарная задача.
1 ответ
//PascalABC.NET
//Версия 3.3, сборка 1611 (06.01.2018)


1)
begin
 var m:=ArrRandom(ReadInteger('n='),-45,90); m.Println;
 var (a,b):=ReadInteger2('a,b=');
 m:=m.Where(t-gt;t mod 7lt;gt;0).Where(t-gt;not(t.InRange(a,b))).ToArray; m.Println;
end.

Пример:
n= 10
18 54 30 -38 39 16 -40 68 2 -36
a,b= 18 30
54 -38 39 16 -40 68 2 -36

2)
begin
 var m:=ArrRandom(ReadInteger('n='),-45,90); m.Println;
 var k:=ReadInteger('k=');
 var i:=0;
 while ilt;gt;m.Length-1 do
 begin
   if (m[i]lt;0) and (m[i+1]lt;0) or (m[i]gt;0) and (m[i+1]gt;0)
   then begin
     SetLength(m,m.Length+1);
     for var j:=m.Length-2 downto i+1 do m[j+1]:=m[j];
     m[i+1]:=k;
     i+=1;
   end;
   i+=1;
 end;
 m.Println;
end.

Пример:
n= 10
25 89 -4 5 85 30 37 -3 13 -3
k= 0
25 0 89 -4 5 0 85 0 30 0 37 -3 13 -3

Вера Лагунова
Со вторым не вышло по-кратче)
Яна Лаганова
Спасибо огромное!!!
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт