
Вопрос задан 20.03.2021 в 01:18.
Предмет Информатика.
Спрашивает Базь Валентин.
Cоставить программу записи в массив B номеров четных элементов массива A. Как можно проще,
пожалуйста

Ответы на вопрос

Отвечает Лукашевич Катерина.
Const
N = 13;
Var
A,B:array[1..N] of integer;
i,j:integer;
Begin
j:=0;
Write('Массив A(',N,'):');
For i:= 1 to N do
Begin
A[i]:=random(N);
Write(' ',A[i]);
if A[i] mod 2 = 0 then
Begin
j:=j+1;
B[j]:=i;
End;
End;
WriteLn;
Write('Массив B(',j,'):');
For i:= 1 to j do
Write(' ',B[i])
End.
Пример работы программы:
Массив A(13): 1 11 9 11 12 2 6 12 0 10 8 11 10
Массив B(8): 5 6 7 8 9 10 11 13
N = 13;
Var
A,B:array[1..N] of integer;
i,j:integer;
Begin
j:=0;
Write('Массив A(',N,'):');
For i:= 1 to N do
Begin
A[i]:=random(N);
Write(' ',A[i]);
if A[i] mod 2 = 0 then
Begin
j:=j+1;
B[j]:=i;
End;
End;
WriteLn;
Write('Массив B(',j,'):');
For i:= 1 to j do
Write(' ',B[i])
End.
Пример работы программы:
Массив A(13): 1 11 9 11 12 2 6 12 0 10 8 11 10
Массив B(8): 5 6 7 8 9 10 11 13



Отвечает Альмишова Аяулым.
1. Современное решение
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
var b:=a.Select((x,i)->(x,i)).Where(xi->xi[0].IsEven)
.Select(xi->xi[1]+1).ToArray;
b.Println
end.
Пример работы
n= 15
46 -35 43 17 34 48 17 46 15 -45 13 -50 -46 13 42
1 5 6 8 12 13 15
2. Школьное решение в стиле "ТурбоПаскаль 1983г."
const
nn=500;
var
i,n,k:integer;
a,b:array[1..nn] of integer;
begin
Write('n=');
Read(n);
Randomize;
k:=0;
for i:=1 to n do begin
a[i]:=Random(101)-50;
Write(a[i],' ');
if a[i] mod 2 = 0 then begin
k:=k+1;
b[k]:=i
end
end;
Writeln;
for i:=1 to k do
Write(b[i],' ');
Writeln
end.
Может, оно кому-то проще, но 23 строки против 5 - явно не упрощение)))
Не говоря о том, что дольше писать и больше шансов наделать ошибок.
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
var b:=a.Select((x,i)->(x,i)).Where(xi->xi[0].IsEven)
.Select(xi->xi[1]+1).ToArray;
b.Println
end.
Пример работы
n= 15
46 -35 43 17 34 48 17 46 15 -45 13 -50 -46 13 42
1 5 6 8 12 13 15
2. Школьное решение в стиле "ТурбоПаскаль 1983г."
const
nn=500;
var
i,n,k:integer;
a,b:array[1..nn] of integer;
begin
Write('n=');
Read(n);
Randomize;
k:=0;
for i:=1 to n do begin
a[i]:=Random(101)-50;
Write(a[i],' ');
if a[i] mod 2 = 0 then begin
k:=k+1;
b[k]:=i
end
end;
Writeln;
for i:=1 to k do
Write(b[i],' ');
Writeln
end.
Может, оно кому-то проще, но 23 строки против 5 - явно не упрощение)))
Не говоря о том, что дольше писать и больше шансов наделать ошибок.



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Конечно! Вот простая программа на псевдокоде, которая записывает номера четных элементов из массива A в массив B:
lessИнициализировать пустой массив B
Для каждого элемента A[i] в массиве A:
Если A[i] четное:
Добавить i в конец массива B
Конец цикла
// В этой точке массив B содержит номера четных элементов массива A
Вышеуказанная программа будет работать на большинстве языков программирования. Просто замените A
и B
на соответствующие имена в выбранном вами языке.
Например, вот пример реализации на Python:
pythonA = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
B = []
for i in range(len(A)):
if A[i] % 2 == 0:
B.append(i)
# Теперь массив B содержит номера четных элементов массива A
print(B)
Результат выполнения этого кода будет:
csharp[1, 3, 5, 7, 9]
Массив B содержит номера четных элементов в массиве A.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili