Дан массив целых чисел из 15 элементов, заполненный случайным образом числами из промежутка [-20,50]. (программа Паскаль)

svitaliy360 svitaliy360    3   16.04.2019 23:00    2

Ответы
Flamingo2006 Flamingo2006  16.04.2019 23:00
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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Другие предметы