Урок 15 Задача 8

Урок 15 Задача 8

Заполнить массив из 9 элементов случайными числами, далее получить случайное число N из диапазона от 1 до 9 и затем "удалить" элемент с позиции N из массива, "сдвинув" значения влево и заполнив все что справа нулями.
Например:

	
|1|3|4|5|4|7|-8|-9|

Путь n=2, тогда после работы программы мы должны получить:

	
|1|4|5|4|7|-8|-9|0|

Примечание: операции сдвига элементов массива оформите в виде подпрограммы.

Решение:

program u15z08;
type myArr = array[1..9] of integer;
var i,n:integer;
  a,b: myArr;

procedure writeArr(arr:myArr; mes:string);// процедура вывода массива на экран
begin
  writeln(mes);
  for i:=low(arr) to high(arr) do
    write(arr[i],' ');
  writeln();
end;

function modArr(arr:myArr; n:integer):myArr;// фун-я получения второго массива
begin                                       // без элемента N
  for i:=n to high(arr) do
    arr[i]:=arr[i+1];
  arr[high(arr)]:=0;
  result:=arr;
end;

begin
  randomize;
  n:=random(9)+1;
  writeln('n = ',n);
  for i:=low(a) to high(a) do
      a[i]:= random(10);
  writeArr(a,'perviy massiv:');
  b:=modArr(a,n);
  writeArr(b,'vtoroy massiv:');
  readln;
end.

Консоль:

n = 9
perviy massiv:
2 5 0 8 8 4 3 7 9
vtoroy massiv:
2 5 0 8 8 4 3 7 0