Помощь - Поиск - Пользователи - Календарь
Полная версия: нужно дорешать задачу на сортировку
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
AlexSt
Дан двумерный массив целых чисел, содержащий n строк и m столбцов. Упорядочить массив по возрастанию элементов k-го столбца.

program sort_n29;
var a:array[1..100,1..100] of integer;
i,j,n,k,m,j1,l,min,b:integer;
begin readln(n,k);
for i:=1 to n do
for j:=1 to k do
readln(a[i,j])
readln(j1);
for i:=n downto 1 do
begin min:=a[i,j1];
for l:=1 to i-1 do
if min>a[i,j1] then
begin for m:=1 to n do
begin b:=a[m,j1];
a[m,j]:=a[m,j];
min:=a[i,j1];

Что делать делать дальше?
MAXXX
Ты чегото нето вообще пишешь. к-номер столбца, а не размер таблицы, в первом цикле должны быть м и н.
Что такое джейл?Или у тебя н-н,м-к,а к соответоствует джейл? Воодщем, непонятно.Водщем я бы порекомендовал писать так:
Код

Var n,m,k,i,j:Integer;
      a:array[1..100,1..100] of Integer;
Procedure swap(i,j:Integer);
Var w,k:Integer;
begin
For k:=1 to m do
begin
w:=a[i,k];
a[i,k]:=a[j,k];
a[j,k]:=w;
end;
end;
{Menyaet mestani 2 stroki i i j}
begin
Readln(n,m);
For i:=1 to n do
For j:=1 to m do
Read(a[i,j]);
Readln(k);
For i:=1 to n-1 do
For j:=i+1 to n do
If a[i,k]>a[j,k] then Swap(i,j);  
For i:=1 to n do
begin
For j:=1 to m do
Write(a[i,j],' ');
Writeln;
end;
end.

Была использована сортировка пузырьком
AlexSt
MAXXX, СПАСИБО всё работает!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.