Сформировать одномерный целочисленный массив a размерностью n. запросить у пользователя индекс k и поменять местами элемент a[k-1] и a[k+1]. вывести на экран исходный и итоговый массивы. если k = 1 или n – вывести сообщение об ошибке.

mrtwesor mrtwesor    3   25.07.2019 18:00    0

Ответы
valerea0 valerea0  03.10.2020 12:49
Const n = 10;
var
  a:array[1..n]of integer;
i,k,temp:integer;

begin
  for i:=1 to n do a[i]:=random(21) - 10;
  repeat
    writeln('Введите k (k<>1 и k<>10)');
    readln(k);
    if (k=1) or (k=n) then writeln('Ошибка, повторите ввод');
  until (k<>1) and (k<>n);
  for i:=1 to n do write(a[i]:4);writeln;
  temp:=a[k-1];a[k-1]:=a[k+1];a[k+1]:=temp;
  for i:=1 to n do write(a[i]:4);  
end.

Тестовое решение:
Введите k (k<>1 и k<>10)
1
Ошибка, повторите ввод
Введите k (k<>1 и k<>10)
5
   7  -5  -6   6  -7   3   9   8   7  -6
   7  -5  -6   3  -7   6   9   8   7  -6
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика

Популярные вопросы