Пояснение: Результирующий массив B представляется в требуемом виде только пользователю при выводе на консоль. В памяти программы же он имеет несколько другой вид (поскольку имеет статический размер). Если требовалось создать массив с динамическим размером (например, используя функцию 'setlength'), напишите об этом.
Answers & Comments
Ответ:
Пояснение: Результирующий массив B представляется в требуемом виде только пользователю при выводе на консоль. В памяти программы же он имеет несколько другой вид (поскольку имеет статический размер). Если требовалось создать массив с динамическим размером (например, используя функцию 'setlength'), напишите об этом.
const M = 10;
var A: array [1..M] of integer;
var B: array [1..M] of integer;
var i,j: integer;
begin
// Задаем элементы массива
For i:= 1 to M do
begin
write('Введите ',i,' элемент массива: ');
readln(A[i]);
end;
j:=1;
writeln('Массив B: ');
For i:= 1 to M do
begin
if (A[i]>0) then
begin
B[j]:=A[i];
write(B[j],' ');
j:=j+1;
end;
end;
end.
PascalABC.Net
begin
var n := ReadInteger('Размер массива');
var a := ReadArrInteger(n);
a.Println;
var b := a.Where(z -> z > 0);
b.Println;
end.
Тестовое решение:
Размер массива 5
4
-5
-3
3
2
4 -5 -3 3 2
4 3 2