Program P67_30; {Parag. 5}
{--------------------------------------------------------------
    Se da matricea A(n,n), ale carei elemente sunt numere
    intregi, si numerele p si q mai misi sau egale cu n.
    Sa se obtina matricea B(n-1,n-1), eliminand linia p si
    coloana q a matricei A.
 --------------------------------------------------------------}

uses crt;
const nm = 100;
var A, B: array[1..nm,1..nm]of integer;
    i, j, n, p, q, ip, iq: 1..nm;
begin
  clrscr;
  {Citirea datelor de la tastartura}
  Writeln;
  Writeln('Ordinul matricei (2..',nm,') ');
  Readln(n);
  clrscr;
  Writeln;
  writeln('Elementele matricei A (numere intregi):');
  for i := 1 to n do begin
    Writeln;
    for j := 1 to n do begin
     Write('A[',i, ', ',j,'] = ');
     Readln(A[i,j]);
    end;
  end;
  clrscr;
  Writeln;
  writeln('Scrie coordonatele unui rand si a unei coloane (p, q): ');
  readln(p, q);

  {Copiem din A in B}
  ip := 0;
  for i:= 1 to n-1 do begin
    if i = p then ip := 1;   {Daca s-a ajuns la randul p, ea se va ignora} 
    iq := 0;
    for j := 1 to n-1 do begin 
      if j = q then iq := 1;  {Daca s-a ajuns la coloana q, ea se va ignora}
      B[i,j] := A[i+ip, j+ip];
    end;       
  end;

  {Afisarea matricelor}
  clrscr;

  Writeln;
  writeln('Elementele matricei A:');
  for i:= 1 to n do begin
    for j := 1 to n do write(A[i,j]:6);
    writeln;
  end;

  Writeln;
  writeln('Elementele matricei B:');
  for i:= 1 to n-1 do begin
    for j := 1 to n-1 do write(B[i,j]:6);
    writeln;
  end;

  readkey
end.
