const N=10; var i,j,k,tmp: integer; a,b: array[1..10] of integer; iPlus,iMinus: integer; // позиции в массиве положит/отриц элементов begin Randomize; for i:=1 to N do begin a[i]:=Random(70)-20; // ввод массива такой, с учетом нижней границы -35. b[i]:=a[i]; end; for i:=1 to N do WriteLn('a[',i,']= ',a[i],' '); WriteLn; // 1 задача for i:=1 to N do // a - уже сформированный массив, размером n if a[i]=5 then a[i]:=0; // если четное, то обнуляем, вы по своему можете реализовать, или учитывать при выводе for i:=1 to N do if a[i]<>0 then // если не равно нулю, то выводим Write(a[i],' '); WriteLn; // 3 ReadLn(k); for i:=1 to N do // ищем первый положит элемент (с начала) if b[i]>0 then begin iPlus:=i; // запоминаем и break; // выходим из цикла поиск end; for i:=N downto 1 do // ищем послед отриц элемент (с конца) if b[i]<0 then begin iMinus:=i; break; end; // меняем местами tmp:=a[iPlus]; a[iPlus]:=a[iMinus]; a[iMinus]:=tmp; // вывод for i:=1 to N do Write(b[i],' '); Readln; end. |