Урок 15. Задача №6. Решение.

Урок 15. Задача №6.

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

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

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

|1|4|5|4|7|-8|-9|0|
type
  MyArr = array[1..9] of integer;

function FillArray(other_arr: MyArr): MyArr;
var i, min, max: integer;
begin
  randomize();
  min := -10;
  max := 10;
  for i := 1 to length(other_arr) do
    other_arr[i] := min + random(max - min + 1);
  result := other_arr;
end;

function RebuildArr(copy_arr: MyArr; b: integer): MyArr;
var i, j: integer;
  new_arr: MyArr;
begin
  i := 1;
  j := 1;
  while(i <= length(copy_arr)) do
  begin
    if(i = b) then
      i += 1;
    new_arr[j] := copy_arr[i];
    i += 1;
    j += 1;
  end;
  new_arr[9] := 0;
  result := new_arr;
end;

procedure ShowArray(arr_first: MyArr);
var i: integer;
begin
  writeln('arr = ');
  for i := 1 to length(arr_first) do
    write(arr_first[i], ' ');
  writeln();
end;

var a: integer;
  arr: MyArr;
begin
  randomize();
  arr := FillArray(arr);
  a := random(9) + 1;
  writeln('Index for delete elements arr = ', a);
  writeln();
  ShowArray(arr);
  writeln();
  arr := RebuildArr(arr, a);
  ShowArray(arr);

  readln(); // Удержание консоль
end.// Завершение программы
vedro-compota's picture

решение засчитано

_____________
матфак вгу и остальная классика =)