Ответы на вопрос:
{pascalabc.net } const nn=100; var a: array[1..nn] of integer; n: integer; procedure ainit(p,q: integer); { инициализирует массив случайными целыми значениями из интервала [p; q] } var i,k: integer; begin randomize; k: =q-p+1; for i: =1 to n do a[i]: =random(k)+p end; procedure aout(k: integer); { выводит в строку значения эементов массива, отводя элементу k позиций } var i: integer; begin for i: =1 to n do write(a[i]: k); writeln end; function amax(): integer; { возвращает максимальное значение элемента в массиве } var i,m: integer; begin m: =a[1]; for i: =2 to n do if m< a[i] then m: =a[i]; amax: =m end; function sumbeforelastpositive(): integer; { возвращает сумму элементов массива, расположенных до последнего положительного элемента } var i,j,s: integer; flag: boolean; begin i: =n; flag: =false; while (not flag) and (i> =1) do begin flag: =(a[i]< =0); if not flag then dec(i) end; s: =0; for j: =1 to i-1 do s: =s+a[j]; sumbeforelastpositive: =s end; procedure ashrink(pa,pb: integer); { процедура сжимает массив, удаляя из него элементы, модуль которых находится в интервале [pa; pb]. освободившийся элементы заполняются нулями. } var i,j,k: integer; flag: boolean; begin k: =0; i: =1; while i< =n do if a[i] in [pa..pb] then begin if k=0 then k: =i-1; j: =i+1; flag: =false; while (not flag) and (j< =n) do begin flag: =not (a[j] in [pa..pb]); if not flag then inc(j); end; if flag then begin inc(k); a[k]: =a[j]; i: =j+1 end else i: =n+1 end else begin inc(k); a[k]: =a[i]; inc(i) end; for i: =k+1 to n do a[i]: =0 end; var p,q,k,b,c: integer; begin write('укажите количество членов в массиве: '); read(n); write('укажите интервал значений элементов массива: '); read(p,q); write('укажите интервал исключаемых элементов массива: '); read(b,c); write('укажите количество позиций для вывода значений элемента: '); read(k); ainit(p,q); write('исходный массив'); aout(k); writeln('значение максимального элемента равно ',; writeln('сумма до последнего положительного равна ',; writeln('сжатый массив'); ashrink(b,c); aout(k) end. тестовое решение: укажите количество членов в массиве: 15 укажите интервал значений элементов массива: -6 9 укажите интервал исключаемых элементов массива: -2 3 укажите количество позиций для вывода значений элемента: 3 исходный массив 7 7 7 -1 5 5 -5 6 0 -1 3 2 -4 1 8 значение максимального элемента равно 8 сумма до последнего положительного равна 35 сжатый массив 7 7 7 5 5 -5 6 -4 8 0 0 0 0 0 0
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
рай3410.07.2022 22:09
-
АНДРЕЙ2285555507.09.2020 06:10
-
ник489804.08.2021 20:16
-
arman8309.06.2023 03:14
-
TOMIRIBOT19.06.2020 06:57
-
дара33308.04.2020 10:14
-
Илона240718.08.2021 11:17
-
Puma2005041214.04.2023 15:55
-
nastya20030203310.04.2021 04:40
-
mun789030.01.2023 04:14
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.