Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Сортировка массива в обратном порядке (задачка...)

Автор: TBVlad 19.01.2006 18:57

Учусь на дистанционке, учебный диск неполный, есть трудности...
Прочитал тему, близкую по содержанию, но программа, приведённая там, дала неверный результат.
Задание звучит так:
"Ввести одномерный массив из N действительных чисел. Пересортировать его в обратном порядке."

Знаю, что такое массив и как его вводить, умею сортировать по возр. и уб., но в обратном порядке - не понимаю... поможете?

Автор: klem4 19.01.2006 19:06

Берешь массив, сравниваешь первые 2 элемента, в зависимости от этого определяешь отсортирован в данный момент массив по возрастанию или по убыванию, получив эти данные сортируешь противоположным способом ... Это конечно если заранее не известно по какому принципу отсортирован массив

Хотя нет, надо просто сделать инвесию массива и все !

Автор: TBVlad 19.01.2006 19:07

Да есть мысль сделать так =) Инверсию через цикл downto.
Просто есть опасение, что преподша взъестся... "Ты чё сделал?! Надо пересортировать!" lol.gif

Автор: klem4 19.01.2006 19:08


for i := 1 to n div 2 do begin
T := arr[i];
arr[i] := arr[n-i+1];
arr[n-i+1] := T;
end;


вот и все.

Автор: TBVlad 19.01.2006 19:29

Спасибо, работает. good.gif

Автор: klem4 19.01.2006 19:31

Цитата
Спасибо, работает.


Незчато .. это стандартный алгоритм, "переварачивает" массив ...