Сформировать одномерный массив, состоящий из n элементов (Каждый элемент – целое число из диапазона от 0 до 15, формируемое с помощью генератора случайных чисел, n меньше =20 вводится с клавиатуры). Вставить перед максимальным ...

Сформировать одномерный массив, состоящий из 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. ___ что я делаю не так?
Гость
Ответ(ы) на вопрос:
Гость
Ну во-первых 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;
Не нашли ответ?
Ответить на вопрос
Похожие вопросы