Сформировать массив с помощью датчика случайных чисел на интервале (-35;35), заменить элементы с k1 по k3 на противоположные

Ответы

Ответ дал: Аноним
0
// PascalABC.NET 3.3, сборка 1540 от 16.09.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('n=');
  var a:=ArrRandom(n,-35,35); a.Println;
  var (k1,k3):=ReadInteger2('Введите границы индексов для замены элементов:');
  // блок "защиты от дурака"
  if k1<1 then k1:=1;
  if k1>n-1 then k1:=n-1;
  if k3<1 then k3:=1;
  if k3>n-1 then k3:=n-1;
  if k1>k3 then Swap(k1,k3);
  // -----------------------
  for var i:=k1-1 to k3-1 do a[i]:=-a[i];
  a.Println
end.

Пример
n= 13
-27 18 15 31 27 -1 -5 20 -20 -34 -7 -33 16
Введите границы индексов для замены элементов: 6 9
-27 18 15 31 27 1 5 -20 20 -34 -7 -33 16
Вас заинтересует