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

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

|1|3|4|5|4|7|-8|-9|
Путь n=2, тогда после работы программы мы должны получить:
|1|4|5|4|7|-8|-9|0|
Примечание: операции сдвига элементов массива оформите в виде подпрограммы.
var
  i,n:integer;
  a:array[1..9] of integer;

  procedure sdvig(n:integer);
  var j:integer;
  begin
    for j:=n to 9 do
    a[j]:=a[j+1];
  end;

 function chislo(min,max:integer):integer;
 var b:integer;
 begin
   randomize();
   b:=random(max-min+1);
   result:=b;
 end;

begin
  n:= chislo(1,9);
  for i:=1 to 9 do
    begin
      a[i]:=random(20);
      write (a[i],' ');
    end;
  writeln();
  writeln('n=',n);
  sdvig(n);
  i:=1;
  for i:=low(a) to high(a) do
    write(a[i],' ');
end. 

Консоль:

5 17 7 2 13 19 5 11 11 
n=5
5 17 7 2 19 5 11 11 0 
vedro-compota's picture

  procedure sdvig(n:integer);
  var j:integer;
  begin
    for j:=n to 9 do
    a[j]:=a[j+1];
  end;

-- избегать выхода за пределы массива

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

var
  i,n:integer;
  a:array[1..9] of integer;

  procedure sdvig(n:integer);
  var j:integer;
  begin
    for j:=n to 8 do
      a[j]:=a[j+1];
    a[9]:=0;
  end;

 function chislo(min,max:integer):integer;
 var b:integer;
 begin
   randomize();
   b:=random(max-min+1);
   result:=b;
 end;

begin
  n:= chislo(1,9);
  for i:=1 to 9 do
    begin
      a[i]:=random(20);
      write (a[i],' ');
    end;
  writeln();
  writeln('n=',n);
  sdvig(n);
  i:=1;
  for i:=low(a) to high(a) do
    write(a[i],' ');
end.   
vedro-compota's picture

засчитано

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