Упорядочивания матрицы

  • Автор темы KreN.del
  • Дата начала
Статус
Закрыто для дальнейших ответов.
K

KreN.del

Гость
#1
Требования:
1)Как console apllication
2)Использовать, пока только то что прошли, а тоесть массивы и циклы
Задача:
Дана целочисленная матриц А(n,m).Упорядочить по возрастанию элементы каждого столбца матрицы.
 
D

DIR3ct0r

Гость
#3
Ну видимо хочется все готовое получить....

я в предыдущей твоей теме писал сортировку пузырьком....алгоритм есть, положи его на матрицу и все, столбец матрицы - это тот же одномерным массив.
 
K

KreN.del

Гость
#4
Ребят вот какой-то код наваял.. Ошибка в просчете появляется лишь в некоторых столбцах...
Немогли ли вы мне баг мой найти?
var
x:TDarr;
i,j,n,m,d,max,imax,c,z:integer;
begin
write('kol-vo ctroc=');
readln(n);
write('kol-vo ctolbcov=');
readln(m);
setlength(x,n,m);
for i:=0 to n-1 do
for j:=0 to m-1 do
read(x[j]);
for j:=0 to m-1 do
for i:=0 to n-1 do
for d:=1 to n-1 do
begin
max:=x[0][0];
imax:=0;
for c:=0 to n-d do
if(x[c][j]>max)then
begin
max:=x[c][j];
imax:=c;
end;
x[imax][j]:=x[n-d][j];
x[n-d][j]:=max;
end;
//вывод построчно
for i:=0 to n-1 do
begin
writeln;
for j:=0 to m-1 do
write(x[j],' ');
end;
readln;
readln;
end.
 
D

DIR3ct0r

Гость
#5
Код:
for iCol:= 1 to m do // идем по каждому столбцу
// сортировка
for iRow1:= 1 to n - 1 do
for iRow2:= iRow1 + 1 to n do
if a[iRow1, iCol] > a[iRow2, iCol] then
begin
tmp:= a[iRow1, iCol];
a[iRow1, iCol]:= a[iRow2, iCol];
a[iRow2, iCol]:= tmp;
end;
 
Статус
Закрыто для дальнейших ответов.