За то что пытался запутать автора  

 - переписал исходник. Теперь он полностью удовлетворяет условию. И описание добавил.
Код
{--------------------------------------------------
Удаление стобцов в матрице.
---------------------------------------------------
>> Описание процедур
---------------------------------------------------
1) MatrixOut(x,y:integer) - выводит матрицу на экран.
   x - количество строк, y - количество столбцов.
2) MatrixPer(temp:integer) - Эта процедура делает
переназначение элементам массива.
   temp - номер строки/стобца.
---------------------------------------------------
>> Пример
---------------------------------------------------
Дана матрица:
       1  0 -3
  A =  4  6  2
      -1  4  7
, необходимо удалить вторую столбей. Алгоритм такой:
1) Необходимо присовить элементам второго стобца элементы
   третьего столбца (A[1,2] = A[1,3], A[2,2] = A[2,3] и т.д.)
   После преобразований получится матрица:
       1  -3 -3
  A =  4   2  2
      -1   7  7
2) Теперь осталось скрыть третий столбец и вывести на экран только
   первые два
}
uses
  crt;
var
  m,n,i,j,k:integer;
  a: array[1..10,1..10] of integer;
{процедура вывода матрицы}
procedure MatrixOut(x,y:integer);
begin
  writeln;
  for i:=1 to x do
    begin
      for j:=1 to y do
        write(a[i,j]:8);
      writeln;
    end;
  writeln;
end;
{процедура переназначения эл-в массива}
procedure MatrixPer(temp:integer);
begin
  for i:=1 to m do
  begin
    for j:=temp to n-1 do
    begin
      a[i,j]:=a[i,j+1];
    end;
   end;
end;
{основная программа}
begin
  clrscr;
  write('Введите размер матрицы (MxN): ');
  readln(m,n);
  writeln('Введите элементы матрицы: ');
  {Вводим матрицу}
  for i:=1 to m do
    for j:= 1 to n do
      begin
        write('A[',i,' ',j,']:=');
        readln(a[i,j]);
      end;
  MatrixOut(m,n); {вывод матрицы}
  write('Введите номер стобца который необходимо удалить: ');
  readln(k);
  MatrixPer(k); {шаг 1. (см. алгоритм}
  writeln('Результат: ');
  MatrixOut(m,n-1); {шаг 2. (см. алгоритм)}
  readln;
end.