Вот: дана последовательность a1, a2, ..., a20. Расположить положительные элементы последовательности, стоящие на нечётных местах, по возрастанию.
У меня вот такое вот начало получилось:
program Elementy;
uses crt;
var
M: array [1..20] of integer;
I: integer;
begin
RANDOMIZE;
clrscr;
WriteLn('Исходный массив:');
for i:=1 to 20 do
begin
M[i]:=random(40)-20;
Write(M[I]:3,' ');
end;
WriteLn;
Это всё, что я смог сделать. Ну, в начале название проги пишем, потом объявляем массив и сам индекс (i). Заполнять массив будем случайным методом - Рандомайс. Взял я так, что колебаться он будет в пределах 40 чисел, т.е. будет любое из сорока, а 20 будет отниматься всегда, в независимости от того, отрицательное ли число будет случайным из 40 либо ли оно будет положительным. Тем самым мы добъёмся того, что сам массив будет состоять как из положительных так и отрицательных элементов. Как я понял, сначала нам нужно вывести на экран наш исходный массив, который получится случайным методом, далее (ниже) будет массив конечный, который будет состоять из положительных элементов, которые стоят в исходном массиве на нечётных местах, т.е. 1, 3, 5, 7 и так далее. Значит нам нужно проверить и должны выполнять два условия одновременно: число положительно, т.е. больше нуля и оно стоит на нечётном месте в массиве. А нечётное место мы можем проверить так - берём число и делим на два, если при делении в остатке получается единичка, то место - нечётное. mod 2 = 1. Вообще, в условии сказано, что прогу нужно писать модифицированным методом выбора. Т.е. нужно просматривать весь массив, отыскивается наименьшее число (ведь нам же нужно расположить их по возрастанию), помещаем это число на первую позицию, тем самым обменивая его с элементом, который до этого занимал эту самую первую позицию. Но опять же мы просматриваем лишь только положительные элементы последовательности, которые стоят только на нечётных местах - остальные в расчёт и перестановку не берём, они, возможно, останутся на прежних местах.
Помогите... может быть я неправильно рассуждаю...