НУЖНА ПОМОЩЬ В ПАСКАЛЕ Имеются два одномерных массива А, В длиной n, где n- нечетное...

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

НУЖНА ПОМОЩЬ В ПАСКАЛЕ Имеются два одномерных массива А, В длиной n, где n- нечетное число. Поменять в каждом из массивов элементы местами – первый с последним, второй с предпоследним и т.д. Длину массивов запросить у пользователя. Элементы массивов А и В сформировать с помощью функции random (10) в одном цикле. В программе оформить две процедуры: для перестановки элементов массива и для вывода массива на экран. Вывести на чистый экран исходные и полученные массивы.


Информатика (152 баллов) | 61 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
Поскольку в Windows-приложениях нет понятия "чистый экран", ввод/вывод был направлен в DOS-окно.

// PascalABC.NET 3.3, сборка 1607 от 31.12.2017
// Внимание! Если программа не работает, обновите версию!

uses Crt;

procedure MySwap(a:array of integer);
begin
  var n:=a.Length;
  for var i:=0 to n div 2 do Swap(a[i],a[n-i-1])
end;

procedure MyPrint(txt:string; a:array of integer);
begin
  Print(txt); a.Println
end;

begin
  var n:=ReadInteger('n=');
  var a:=new integer[n];
  var b:=new integer[n];
  Randomize;
  for var i:=0 to n-1 do begin
    a[i]:=Random(10); b[i]:=Random(10);
    end;
  ClrScr;
  MyPrint('Исходный А :',a); MySwap(a); MyPrint('Результат А:',a);
  MyPrint('Исходный B :',b); MySwap(b); MyPrint('Результат B:',b)
end.

image
(150k баллов)