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

Сформировать одномерный массив, состоящий из 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. что я делаю не так?

Ответ:
Quickpool
Quickpool
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
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?