Определить индексы четных элементов массива

Во втором массиве сохранить индексы четных элементов первого массива. Например, если дан массив со значениями 8, 3, 15, 6, 4, 2, то во второй массив надо заполнить значениями 1, 4, 5, 6 (или 0, 3, 4, 5 - если индексация начинается с нуля), т.к. именно в этих позициях первого массива стоят четные числа.

  1. Ввести для второго массива счетчик элементов.
  2. В цикле перебирая все элементы первого массива,
    1. проверять их на четность.
    2. Если элемент четный, то
      1. заносить его индекс в очередную ячейку второго массива,
      2. увеличивать на 1 значение счетчика элементов второго массива.
  3. Вывести на экран элементы второго массива от первого до последнего, на индекс которого указывает счетчик элементов второго массива (чаще за вычетом 1).
const N = 15;
var
    arr, even: array[1..N] of integer;
    i, j: byte;
begin
    randomize;
    for i:=1 to N do begin
        arr[i] := random(11);
        write(arr[i]:4)
    end;
    writeln;
 
    j := 0;
    for i:=1 to N do
        if arr[i] mod 2 = 0 then begin
            j := j+1;
            even[j] := i;
        end;
 
    write('Индексы четных элементов: ');
    for i:=1 to j do
        write(even[i], ' ');
    writeln;
end.
   5   2   6  10   7   7   3   7  10   2   1   9   1   1   1
Индексы четных элементов: 2 3 4 9 10
#include <stdio.h>
#define N 10
main() {
    int arr[N], even[N], i, j;
    srand(time(NULL));
    for (i=0; i<N; i++) {
        arr[i] = rand()%11+10;
        printf("%d ", arr[i]);
    }
    printf("\n");
    j = 0;
    for (i=0; i<N; i++)
        if (arr[i] % 2 == 0) {
            even[j] = i;
            j += 1;
        }
    printf("Индексы четных элементов: ");
    for (i=0; i<j; i++)
        printf("%d ", even[i]);
    printf("\n");
}
14 17 13 20 20 18 11 12 12 11
Индексы четных элементов: 0 3 4 5 7 8
from random import random
N = 10
arr = [0]*N
even = []
for i in range(N):
    arr[i] = int(random() * 10) + 10
    if arr[i] % 2 == 0:
        even.append(i)
print(arr)
print('Индексы четных элементов: ', even)
[10, 10, 15, 12, 13, 19, 11, 18, 12, 15]
Индексы четных элементов:  [0, 1, 3, 7, 8]
алг индексы четных элементов
нач
  цел N = 15
  цел таб arr[1:N], even[1:N]
  цел i,j
  нц для i от 1 до N
    arr[i] := int(rand(0,11))
    вывод arr[i], " "
  кц
  вывод нс
  j := 0
  нц для i от 1 до N
    если mod(arr[i],2) = 0 то
      j := j + 1
      even[j] := i
    все
  кц
  вывод "Индексы четных элементов: "
  нц для i от 1 до j
    вывод even[i], " "
  кц
кон
7 5 8 4 2 0 2 7 4 10 9 4 0 6 6
Индексы четных элементов: 3 4 5 6 7 9 10 12 13 14 15
N = 10
dim arr(N)
dim even(N)
for i=0 to N-1
        arr[i] = int(rand *10) + 10
        print arr[i] + " ";
next i
print
j = 0
for i=0 to N-1
        if arr[i] % 2 = 0 then
                even[j] = i
                j = j + 1
        endif
next i
print "Индексы четных элементов: "
for i=0 to j-1
        print even[i] + " ";
next i
10 13 18 19 17 16 12 12 18 10
Индексы четных элементов:
0 2 5 6 7 8 9

Комментарий

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
        int A[20], B[20], a=0;
        srand(time(NULL));
        for(int i=0; i<20; i++){
                int s=rand()%25;
                A[i]=s;
                printf("%d  ", A[i]);
                if(s%2==0){
                        B[a]=i;
                        a++;
                }
        }
        printf("\n\n");
       
        for(int i=0; i<a; i++) printf("%d  ", B[i]);
        return 0;
}