IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Сортировка строк матрицы
SunDevil
сообщение 17.03.2005 19:35
Сообщение #1


Гость






Есть задача: вводим матрицу 4 на 4 с клавиатуры, а прога должна отсортировать ВСЕ СТРОКИ матрицы по убыванию методом подсчета.
Нем огу реализовать эту процедуру сортировки, ПОМОГИТЕ, ПЛИЗ!
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 20.03.2005 14:26
Сообщение #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;

Одно "но" - эта процедура работает, но будет сортировать по возрастанию... Попробуйте переделать ее так, чтобы она сортировала по убыванию...
 К началу страницы 
+ Ответить 

Сообщений в этой теме
SunDevil   Сортировка строк матрицы   17.03.2005 19:35
volvo   Читайте здесь (описан сам принцип сортировки матри...   17.03.2005 19:43
SunDevil   2volvo Спасибо тебе, но проблема еще и в том, что ...   17.03.2005 19:55
volvo   Сортировка подсчетом. Этот метод подходит для сор...   17.03.2005 20:13
Georgich   Вот исходник, помогите, пожалуйста, а то не работа...   17.03.2005 22:47
volvo   Ну, вот так она компилируется... правильность рабо...   17.03.2005 23:03
Georgich   Не могу все с этой сортировкой разобраться.....туп...   20.03.2005 14:22
volvo   Вот так: const  maxSize = 1000; { Это при же...   20.03.2005 14:26
Georgich   Вот что получается, вернее не получается совсем......   20.03.2005 16:37
volvo   Georgich, ну будьте же внимательнее!!...   20.03.2005 16:47
Georgich   2 volvo есть некоторые вопросы: const maxSize = 1...   20.03.2005 16:55
volvo   Вот рабочая версия:   20.03.2005 17:01
Georgich   2 volvo БОЛЬШУЩИЕ ТЕБЕ СПАСИБО!   20.03.2005 17:48
Georgich   Появилась проблема снова с матрицей! Надо отсо...   18.04.2005 10:51
volvo   Может быть, вот так:  for j := 1 to m do    for ...   18.04.2005 11:00
Georgich   2 volvo Это, вроде по возрастанию столбцы сортируе...   18.04.2005 11:13
volvo   Ну, как у тебя было написано, так я и переделал......   18.04.2005 11:16


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 11:32
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"