Код

uses
  crt;
const
  { Double array max count of elements }
  max_elem = 10;
var
  a: array[1..max_elem, 1..max_elem] of integer;
  b: array[1..100] of integer;
  i,j,n,m: 1..max_elem;
  idx: 1..100;
  ident, c: integer;

begin
  clrscr;

{ Read data }
  write('n:> ');
  readln(n);
  write('m:> ');
  readln(m);
  for i:=1 to n do
    for j:=1 to m do
    begin
      write('a[',i,',',j,']:> ');
      readln(a[i,j]);
    end;

{ View double array }
  writeln('Double array:');
  for i:=1 to n do
  begin
    for j:= 1 to m do
      write(a[i,j],' ');
    writeln;
  end;
  writeln;

{ Create Single array }
  idx:= 1;
  for i:=1 to n do
    for j:=1 to m do
    begin
      b[idx]:= a[i, j];
      inc(idx);
    end;
  dec(idx);

{ View single array before sorting }
  writeln('Single array before sorting:');
  for i:= 1 to idx do
    write(b[i],' ');
  writeln;
  writeln;

{ Sorting array }
  ident:= 1;
  while (ident <> 0) do begin
    i:= 1;
    ident:= 0;
    while (i <> idx) do
    begin
      if b[i] > b[i + 1] then
      begin
        c:= b[i];
        b[i]:= b[i + 1];
        b[i + 1]:= c;
        ident:= 1;
      end;
      inc(i);
    end;
  end;

{ View sorted single array }
  writeln('Single array after sorting:');
  for i:=1 to idx do
    write(b[i],' ');
  readln;
end.


Полностью решенная задача. Ничего в ней сложного, учите Pascal и лекции читайте smile.gif