|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.06.2009, 23:13 | #1 |
Новичок
Джуниор
Регистрация: 10.06.2009
Сообщений: 1
|
Сортировка двумерного массива по столбцам методом быстрой сортировки( Хоара) и пирамидальной.
Здравствуйте. Помогите пожалуйста. Используя два типа сортировки:быстрая сортировка(Хоара) и пирамидальная, отсортировать элементы массива A по стольцам начиная с элемента a[k,l] и заканчивая элементом a[c,d], k<=c (l<=). Остальные элементы массива не сортировать.
Кто нибудь Помогите, или ссылки напишите... |
11.06.2009, 08:37 | #2 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 320
|
Вот пример быстрой сортировки одномерного массива
Код:
|
28.10.2011, 21:40 | #3 |
Регистрация: 28.10.2011
Сообщений: 3
|
в чем ошибка сортировки двумерного массива?
var
mass:array[0..4,0..4]of integer; i,j,x,y,b,k,q,z,o,p:integer; buf:boolean; begin {ввод матрицы} //randomize; for i := 0 to length(mass) - 1 do for j := 0 to length(mass) - 1 do mass[i,j]:=random(100); for i := 0 to length(mass) - 1 do begin for j := 0 to length(mass) - 1 do begin write(mass[i,j]:4,' '); end; writeln; end; write(length(mass)); writeln; {сортировка матрицы} buf:=false; for i := 0 to length(mass) - 1 do begin for j := 0 to length(mass) - 1 do begin b:=mass[i,j]; z:=b; for x := i to length(mass) - 1 do begin for y := j to length(mass) - 1 do begin if b > mass[x,y] then begin b:=mass[x,y]; k:=x; q:=y; buf:=true; end; end; end; if buf = true then begin mass[i,j]:=b; mass[k,q]:=z; buf:=false; end; end; end; {вывод матрицы} for i := 0 to length(mass) - 1 do begin for j := 0 to length(mass) - 1 do begin write(mass[i,j]:4,' '); end; writeln; end; readln; readln; end. |
28.10.2011, 23:05 | #4 |
Регистрация: 28.10.2011
Сообщений: 3
|
сортировка двумерного массива (исправленный вариант)
var
mass:array[0..6,0..6]of integer; i,j,x,y,b,k,q,z,o,p:integer; buf:boolean; begin {ввод матрицы} randomize; for i := 0 to length(mass) - 1 do for j := 0 to length(mass) - 1 do mass[i,j]:=random(100); for i := 0 to length(mass) - 1 do begin for j := 0 to length(mass) - 1 do begin write(mass[i,j]:4,' '); end; writeln; end; write(length(mass)); writeln; {сортировка матрицы} for i := 0 to length(mass) - 1 do begin for j := 0 to length(mass) - 1 do begin b:=mass[i,j]; for x := 0 to length(mass) - 1 do begin for y := 0 to length(mass) - 1 do begin if b < mass[x,y] then begin z:=b; b:=mass[x,y]; mass[i,j]:=b; mass[x,y]:=z; end; end; end; end; end; {вывод матрицы} for i := 0 to length(mass) - 1 do begin for j := 0 to length(mass) - 1 do begin write(mass[i,j]:4,' '); end; writeln; end; readln; readln; end. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сортировка двумерного массива | Makarov | Помощь студентам | 8 | 29.10.2011 11:55 |
Сортировка двумерного массива | Dwaight$ | Помощь студентам | 1 | 27.05.2009 03:14 |
сортировка двумерного массива | cornholio | Помощь студентам | 1 | 27.11.2007 23:36 |