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

Сформировать одномерный массив, состоящий из n элементов (каждый элеме нт – целое число из диапазона от 0 до 15, формируемое с генератора случайных чисел, n< =20 вводится с клавиатуры). вставить перед максимальным элементом число -5. если таких элементов несколько, то вставить перед каждым. program qw; var max, b, i, n, j : integer; a: array[1..45] of integer; begin max: =a[1]; b: =0; repeat write ('введите размерность массива n (не больше 20): '); read(n); until n< =20; writeln; for i: =1 to n do begin a[i]: =random(15); if a[i]> max then max: =a[i]; end; for i: =1 to n do write(a[i],' '); writeln; writeln('max = ',max); for i: =(1+b) to (n+b) do begin if a[i] = max then begin a[i+1]: =a[i]; a[i]: =-5; b: =b+1; end else a[i]: =a[i+b]; end; for i: =1 to n do write(a[i],' '); end. что я делаю не так?

Ответ:
kuchatrupov47
kuchatrupov47
18.09.2020 12:01
Ну во-первых max:=a[1]; нужно задать после того как массив готов!

а вместо этого
 for i:=(1+b) to (n+b) do
begin
if a[i] = max then begin
a[i+1]:=a[i];
a[i]:=-5;
b:=b+1;
end
else
a[i]:=a[i+b];
end;
Попробуй это
 b:=-50;  for i:=1 to n do    if a[i]:=max then a[i]:=a[i]+b;
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?