![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
SunDevil |
![]()
Сообщение
#1
|
Гость ![]() |
Есть задача: вводим матрицу 4 на 4 с клавиатуры, а прога должна отсортировать ВСЕ СТРОКИ матрицы по убыванию методом подсчета.
Нем огу реализовать эту процедуру сортировки, ПОМОГИТЕ, ПЛИЗ! |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Вот так:
Код const maxSize = 1000; { Это при желании можно уменьшить } type arrType = array[1 .. maxSize] Of Integer; procedure sortlines(n,m:integer; var ma:matrix); var _a, _b: arrType; _c: array[byte] of integer; i,j: integer; begin for j := 1 to n do begin move(ma[j, 1], _a[1], m*sizeof(integer)); FillChar(_C[0], 256, 0); for i:=1 to N do inc(_C[_A[i]]); for i:=1 to 255 do _C[i]:=_C[i-1]+_C[i]; for i:=N downto 1 do begin _B[_C[_A[i]]]:=_A[i]; dec(_C[_A[i]]); end; move(_b[1], ma[j, 1], m*sizeof(integer)); end; end; Одно "но" - эта процедура работает, но будет сортировать по возрастанию... Попробуйте переделать ее так, чтобы она сортировала по убыванию... |
![]() ![]() |
![]() |
Текстовая версия | 7.09.2025 8:39 |