Вопрос по информатике:
Сформировать одномерный массив, состоящий из 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.
___
что я делаю не так?
- 25.12.2017 22:19
- Информатика
- remove_red_eye 11357
- thumb_up 28
Ответы и объяснения 1
Ну во-первых 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;
- 26.12.2017 06:42
- thumb_up 25
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.