В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История

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

Показать ответ
Ответ:
mirtovamasha
mirtovamasha
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.
0,0(0 оценок)
Популярные вопросы: Другие предметы
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота