Задача Сортировка матрицы

Задана матрица A размера NxM. Вам необходимо отсортировать числа в каждой строке матрицы в порядке возрастания.

Формат ввода:

В первой строке находятся числа N и M. Далее следует описание самой матрицы - N строк по M чисел в каждой.

Ограничения:

1 <= N, M <= 100
-100 <= A[i,j] <= 100

Формат вывода:

Ответ на задачу - исходная матрица, каждая строка которой отсортирована по возрастанию.

Пример ввода:              

3 4                                           
1 2 3 4                                     
4 3 2 1                                     
4 1 3 2

Пример вывода:

1 2 3 4
1 2 3 4
1 2 3 4

Код:
var a:array [1..1000] of longint; n,m,i,j:longint;
procedure qsort(l,r:longint);
var i,j,x,p:longint;
begin
 i:=l;
 j:=r;
 x:=a[(i+j)div 2];
 repeat
  while a[i]<x do i:=i+1;
  while a[j]>x do j:=j-1;
  if i<=j then begin
                p:=a[i];
                a[i]:=a[j];
                a[j]:=p;
                i:=i+1;
                j:=j-1;
               end;
 until i>j;
 if i<r then qsort(i,r);
 if j>l then qsort(l,j);
end;
begin
readln(n,m);
for i:=1 to n do
  begin
   for j:=1 to m do
    read(a[j]);
    qsort(1,m);
   for j:=1 to m do
    write(a[j],' ');
   writeln;
 end;
end.

Отредактировано Санчоус (2011-11-12 18:32:20)