Другие языки программирования и технологии

помогите пожалуйста составить программу в паскале

13. Составьте паскаль-программу для решения следующей задачи: «Дан одномерный массив целого типа. Получить другой массив, состоящий только из четных чисел исходного массива, меньше 10, или сообщить, что таких чисел нет. Полученный массив отсортировать методом пузырька в порядке возрастания элементов и вывести».
var i, j, n, k: integer;
a, b: array [1..100] of integer;
begin
n:=10;
k:=0;
randomize;
for i:=1 to n do
begin
a[i]:=-10+random(50);
write (a[i]:4);
if (a[i] < 10) and (not odd (a[i])) then
begin
inc(k);
b[k]:=a[i];
end;
end;
if k=0 then writeln (#10, 'четные числа меньше 10 отсутствуют в исходном массиве')
else
begin
for i:=1 to k do
for j:=1 to k do
if b[i] < b[j] then
begin
n:=b[i];
b[i]:=b[j];
b[j]:=n;
end;
writeln;
for i:=1 to k do
write (b[i]:4);
end;
end.
ИВ
Игорь Власенко
20 124
Лучший ответ
program q211483770;
var
A, B: array of integer;
i, j, tmp, Na, Nb: integer;
begin
readln(Na);
setlength(A, Na);
setlength(B, Na);
for i:=0 to Na - 1 do
read(A[i]);

Nb := 0;
for i:=0 to Na - 1 do
if (A[i] mod 2 = 0) and (A[i] < 10) then begin
B[Nb] := A[i];
Nb := Nb + 1;
end;

if Nb = 0 then begin
writeln('Четные числа меньше 10 отсутсвуют');
end
else begin
for i := 0 to Nb - 1 do
for j := 0 to Nb - 2 - i do
if B[j] > B[j + 1] then begin
tmp := B[j + 1];
B[j + 1] := B[j];
B[j] := tmp;
end;

for i := 0 to Nb - 1 do
write(B[i], ' ');
end;
end.
™ ! •7182• ! ™
™ ! •7182• ! ™
11 157