Мне лениво каждый раз вводить значения от руки, поэтому массив заполняется рандомно (в задаче нет четкого указания) но если нужен ввод с клавы, его нетрудно заменить: вместо A[i]:=random(20); write(A[i]:4) надо readln (A[i])
program aaa; var A: array[1..7] of integer; i: byte; begin randomize; //запускаем генератор случайных чисел
// формируем и одновременно выводим массив writeln ('Исходный массив:'); for i:=1 to 7 do begin A[i]:=random(20); //рандомное значение write(A[i]:4) //вывод массива end; writeln;
//проверяем условие и выводим номера нужных элементов: writeln ('номера нечётных элементов, стоящих на чётных местах :'); writeln; for i:=1 to 7 do if ((i mod 2)=0) and ((A[i] mod 2)=1) then writeln (i:3) end.
Результат работы программы:
Исходный массив: 13 16 7 11 11 5 17
номера нечётных элементов, стоящих на чётных местах : 4 6
Зачем напрягаться, если автор жадный и задачу за ставит?
begin
var x:=ArrRandom(7,-20,20); x.Println;
x.Select((e,i)->(e,i)).Where(a->(a[0] mod 2<>0) and (a[1] mod 2=0)).
Select(a->a[1]+1).Println
end.
Пример
20 9 13 -9 7 -8 -6
3 5
вместо
A[i]:=random(20);
write(A[i]:4)
надо
readln (A[i])
program aaa;
var A: array[1..7] of integer; i: byte;
begin
randomize; //запускаем генератор случайных чисел
// формируем и одновременно выводим массив
writeln ('Исходный массив:');
for i:=1 to 7 do
begin
A[i]:=random(20); //рандомное значение
write(A[i]:4) //вывод массива
end;
writeln;
//проверяем условие и выводим номера нужных элементов:
writeln ('номера нечётных элементов, стоящих на чётных местах :');
writeln;
for i:=1 to 7 do
if ((i mod 2)=0) and ((A[i] mod 2)=1)
then writeln (i:3)
end.
Результат работы программы:
Исходный массив:
13 16 7 11 11 5 17
номера нечётных элементов, стоящих на чётных местах :
4
6