Написать программу на с++ или паскаль. ! в одномерном массиве, состоящем из n вещественных элементов, вычислить: -максимальный элемент массива; -сумма элементов массива, расположенных до последнего положительного элемента . сжать массив, удалив из него все элементы, модуль которых находится в интервале (a.b). освободившийся в конце массива элементы заполнить нулями.
142
308
Ответы на вопрос:
{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
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
данил1013125.05.2022 13:31
-
simpolita05.11.2022 14:15
-
миша109311.12.2022 11:11
-
Vitalik199410.11.2021 13:39
-
Davicc23.07.2021 03:59
-
San4ic07.02.2023 08:25
-
Fizruk11503.08.2022 22:03
-
crybaby191610.02.2020 18:56
-
Random0070017.08.2021 03:37
-
Vados2002k12.04.2023 13:54
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.