Сформировать массив В из элементов массива А, стоящих на нечетных местах - Free Pascal
Формулировка задачи:
program ideone;
const n = 10;
k = 5; // если n четное то k=n/2 иначе k=n/2+1
var
j : integer = 1;
i : integer = 1;
a : array [1..n] of integer;
b : array [1..k] of integer;
begin
writeln('введите элементы массива');
for i:=1 to n do
readln(a[i]);
writeln('вывод элементов массива:');
for i:=1 to n do
write(a[i]:3);
i:=1;
j:=1;
while i<=n do begin
if (i mod 2 <> 0) then
b[j] = a[i];
i=i+2;
j=j+1;
end;
writeln('вывод элементов массива:');
for j:=1 to k do
write(b[j]:3);
end.Решение задачи: «Сформировать массив В из элементов массива А, стоящих на нечетных местах»
program ideone;
const n = 10;
k = (n div 2) + (n mod 2);
var
j : integer;
i : integer;
a : array [1..n] of integer;
b : array [1..k] of integer;
begin
writeln('введите элементы массива');
for i:=1 to n do
readln(a[i]);
writeln('вывод элементов массива:');
for i:=1 to n do
write(a[i]:3);
i:=1;
j:=1;
while i<=n do begin
if (i mod 2 <> 0) then
b[j] := a[i];
i:=i+2;
j:=j+1;
end;
writeln('вывод элементов массива:');
for j:=1 to k do
write(b[j]:3);
end.
Объяснение кода листинга программы
В этом коде задается целочисленный массив a размером 10, в который с клавиатуры вводятся 10 целых чисел. Затем выводится размер этого массива, равный 10, и каждое число массива выводится в отдельной строке с использованием функции writeln. Далее, создается массив b размером k, где k — это количество нечетных элементов в массиве a. Для этого используется переменная k, которая инициализируется как (n div 2) + (n mod 2), где n — это размер массива a. Затем, в цикле, проходя по элементам массива a, если текущий элемент имеет нечетный индекс, то он копируется в массив b. В конце, выводится размер массива b, равный k, и каждое число массива b выводится в отдельной строке с использованием функции writeln.