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

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

Форум «Всё о Паскале» _ Задачи _ Задачка с массивами!

Автор: bestlover 7.12.2008 15:09

Определить два наименьших элемента среди отрицательных элементов второй половины массива!

Автор: renesko1 7.12.2008 18:36

Не понятен сам алгоритм или технические подробности кодинга ?)

Автор: Unconnected 7.12.2008 19:25

bestlover , берёшь вторую половину массива, из неё выбираешь отрицательные элементы, сортируешь их и берёшь два наименьших элемента smile.gif

Автор: Archon 7.12.2008 22:06

Цитата
bestlover , берёшь вторую половину массива, из неё выбираешь отрицательные элементы, сортируешь их и берёшь два наименьших элемента
Ха, решение в стиле языка Ruby =)

Автор: bestlover 8.12.2008 18:26

Цитата
bestlover , берёшь вторую половину массива, из неё выбираешь отрицательные элементы, сортируешь их и берёшь два наименьших элемента smile.gif
Это я и сам знаю!=) как это реализовать в паскале???

Автор: Archon 8.12.2008 19:23

Ты бы хоть что-нибудь сам попробовал сделать. Что не понятно?
Как просмотреть вторую половину массива?

Код
for i := (Low(arr) + High(arr)) div 2 + 1 to High(arr) do

а если массив от 1 до n то и того проще
Код
for i := n div 2 + 1 to n do

Как выбрать отрицательные элементы?
Код
if arr[i] < 0 then

Как найти 2 минимальных элемента?
Знаешь как найти 1 минимальный элемент? Вот также, только тебе понадобятся 2 переменные для хранения минимумов. Если следующее число массива меньше максимального из минимумов, значит меняем максимальный из минимумов на это новое значение.