USES Crt;
VAR
P,P1:ARRAY[0..15] OF INTEGER; P2:ARRAY[0..30] OF INTEGER;
I,J,E,D,PP,PO,FL: BYTE; K,PRP:INTEGER;
BEGIN
ClrScr; Randomize;
WriteLn(' Значения элементов массива P');
FOR I:=1 TO 15 DO Begin
P[I]:=Random(70)-20; Write(P[I]:4);
End; WriteLn;
J:=1;
{ 1. Удаление }
FOR I:=1 TO 15 DO Begin
E:=ABS(P[I]) mod 10; {Выделение единиц}
D:=ABS(P[I]) div 10; {Выделение десятков}
{ формирование нового массива }
IF (E<>5) AND (D<>5) THEN Begin P1[J]:=P[I]; J:=J+1; End;
End;
WriteLn(' Массив, в котором нет элементов с цифрой 5');
FOR I:=1 TO J-1 DO
Write(P1[I]:4);
WriteLn;
{ 2. Вставка }
Write(' Введите значение переменной '); ReadLn(K);
J:=1;
FOR I:=1 TO 15 DO Begin
P2[J]:=P[I]; J:=J+1;
IF ABS(P[I]) mod I = 0 THEN Begin P2[J]:=K; J:=J+1; End;
End;
WriteLn(' Массив, в котором после элементов, кратных своему номеру, вставлено число =',K);
For I:=1 TO J-1 DO
Write(P2[I]:4);
WriteLn;
{ 3. Перестановка }
{ Нахождение первого положительного и последнего отрицательного элемента }
FL:=0;
FOR I:=1 TO 15 DO Begin
IF (P[I]>0) AND (FL=0) THEN Begin PP:=I; FL:=1; End;
IF P[I]<0 THEN PO:=I;
End;
{ перестановка местами первого положительного и последнего отрицательного'}
PRP:=P[PP]; P[PP]:=P[PO]; P[PO]:=PRP;
WriteLn(' Массив, в котором первый положительный и последний отрицательный');
WriteLn(' поменяли местами');
FOR I:=1 TO 15 DO
Write(P[I]:4);
END.
VAR
P,P1:ARRAY[0..15] OF INTEGER; P2:ARRAY[0..30] OF INTEGER;
I,J,E,D,PP,PO,FL: BYTE; K,PRP:INTEGER;
BEGIN
ClrScr; Randomize;
WriteLn(' Значения элементов массива P');
FOR I:=1 TO 15 DO Begin
P[I]:=Random(70)-20; Write(P[I]:4);
End; WriteLn;
J:=1;
{ 1. Удаление }
FOR I:=1 TO 15 DO Begin
E:=ABS(P[I]) mod 10; {Выделение единиц}
D:=ABS(P[I]) div 10; {Выделение десятков}
{ формирование нового массива }
IF (E<>5) AND (D<>5) THEN Begin P1[J]:=P[I]; J:=J+1; End;
End;
WriteLn(' Массив, в котором нет элементов с цифрой 5');
FOR I:=1 TO J-1 DO
Write(P1[I]:4);
WriteLn;
{ 2. Вставка }
Write(' Введите значение переменной '); ReadLn(K);
J:=1;
FOR I:=1 TO 15 DO Begin
P2[J]:=P[I]; J:=J+1;
IF ABS(P[I]) mod I = 0 THEN Begin P2[J]:=K; J:=J+1; End;
End;
WriteLn(' Массив, в котором после элементов, кратных своему номеру, вставлено число =',K);
For I:=1 TO J-1 DO
Write(P2[I]:4);
WriteLn;
{ 3. Перестановка }
{ Нахождение первого положительного и последнего отрицательного элемента }
FL:=0;
FOR I:=1 TO 15 DO Begin
IF (P[I]>0) AND (FL=0) THEN Begin PP:=I; FL:=1; End;
IF P[I]<0 THEN PO:=I;
End;
{ перестановка местами первого положительного и последнего отрицательного'}
PRP:=P[PP]; P[PP]:=P[PO]; P[PO]:=PRP;
WriteLn(' Массив, в котором первый положительный и последний отрицательный');
WriteLn(' поменяли местами');
FOR I:=1 TO 15 DO
Write(P[I]:4);
END.