Откуда появляется ноль(на скрине показал) после номера первого четного элемента? (то что тут 2 массива, это так и должно быть). и еще нужно "в том массиве, где первый четный элемент стоит раньше, поменять его с последним элементом массива. обмен осуществить при процедуры." код: program p12_2; uses crt; const n=10; type mas=array[1..n] of integer; var a: mas; var i,p,k: integer; procedure vvod(n: integer; var a: mas); var i: integer; var w,q: integer; begin writeln('заполнение массива случайными числами.'); writeln('введите границы массива'); write('от: '); read(q); write('до: '); read(w); randomize; if q=w then begin for i: =1 to n do begin a[i]: =q; end; end else if q> 0 then begin for i: =1 to n do begin a[i]: =random (w-q)+q; end; end else begin q: =q*(-1); for i: =1 to n do begin a[i]: =random(w+q)-q end; end; end; procedure vivod(n: integer; var a: mas); var i: integer; begin writeln; for i: = 1 to n do begin write(a[i]: 4); write; end; end; function first(k: integer; var a: mas) : integer; var i,n: integer; begin i: =0; repeat i: =i+1; if (a[i] mod 2)=0 then k: =i; until k=i; writeln('первое четное число под номером ',k); end; begin writeln('первый массив: '); vvod(n, a); vivod(n, a); writeln; writeln(first (k, a)); writeln; writeln; writeln('второй массив: '); vvod(n, a); vivod(n, a); writeln; writeln(first (k, a)); writeln; end.