Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2009, 20:19   #1
vlad1991
Пользователь
 
Регистрация: 10.12.2007
Сообщений: 69
По умолчанию Сортировка в Паскале!

Люди помогите пожалуйста!
Как отсортировать массив методом максимума по убыванию???
vlad1991 вне форума Ответить с цитированием
Старый 13.01.2009, 20:33   #2
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Например так
Код:
var A: array[1..50] of integer;
     i, j, max, imax: integer;
...
for i := 1 to 49 do
  begin
  max := A[i]; imax := i;
  for j := i+1 to 50 do
    if A[j] > max then begin max := A[j]; imax := j end;
  A[imax] := A[i];
  A[i] := max
  end;
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 13.01.2009, 20:41   #3
vlad1991
Пользователь
 
Регистрация: 10.12.2007
Сообщений: 69
По умолчанию

если не сложно можно пояснить!Я не понимаю зачем второй цикл?
vlad1991 вне форума Ответить с цитированием
Старый 13.01.2009, 21:46   #4
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Смотрите, что происходит. Мы берём каждый элемент, начиная с первого. Это первый цикл. И дальше среди всех элементов, которые расположены правее него, и его самого ищем максимальный. Это второй цикл. И дальше меняем местами взятый элемент и найденный максимум
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 13.01.2009, 23:25   #5
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

Сортрировка называется сортировкой выбором, один со всеми:
Код:
program sort2;
uses crt;
const
 n = 23;
var
 A : array [1..n] of integer;
 x : integer;
 i,k,j : byte;
begin
 clrscr;
 Randomize;
 for i:=1 to n do
 begin
   A[i]:=i;
   write (A[i],' ')
 end;
 writeln;
 writeln;

 for i:=1 to n-1 do
 begin
   j:=i;
   for k:=i+1 to n do
    if A[k]>A[j] then j:=k;
   x:=A[j];
   A[j]:=A[i];
   A[i]:=x
 end;

 for i:=1 to n do write (A[i],' ');

 readln;
end.
capta1n вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка Шелла и Шейкер-сортировка AleksandrMakarov Паскаль, Turbo Pascal, PascalABC.NET 11 11.03.2012 12:18
Помогите пожалуйста решить задачки в Паскале(Массив-Сортировка) VisTBacK Помощь студентам 1 14.10.2008 02:20
Сортировка в паскале evrey Паскаль, Turbo Pascal, PascalABC.NET 1 05.06.2008 22:07
Паскаль. Сортировка в Паскале. FeelTheSkill Помощь студентам 4 10.02.2007 07:54