Вставьте порядковый номер максимального элемента за ним. передвинув все оставшиеся позиции на одну позицию впр - Turbo Pascal
Формулировка задачи:
Здравствуйте!
Прошу помощи в дописании программы
В одномерном массиве найти максимальный элемент. Вставьте порядковый номер максимального элемента за ним. передвинув все оставшиеся позиции на одну позицию вправо.
Начало положено...дальше никак(
Прошу помочь...
Решение задачи: «Вставьте порядковый номер максимального элемента за ним. передвинув все оставшиеся позиции на одну позицию впр»
textual
Листинг программы
program zd;
uses crt;
const n=10;
var a:array[1..n+1] of integer;
m,i,imax:integer;
begin
Clrscr;
randomize;
writeln('исходный массив: ');
for i:=1 to n do
begin
a[i]:=random(50);
write(a[i]:4);
end;
writeln;
imax:=1;
for i:=2 to n do
if a[i]>a[imax] then imax:=i;
writeln('Максимальный элемент=',a[imax],' его номер=',imax);
m:=n+1;
if imax=n then a[m]:=imax
else
begin
for i:=m downto imax+2 do
a[i]:=a[i-1];
a[imax+1]:=imax ;
end;
for i:=1 to m do
write(a[i]:4);
readln
end.
Объяснение кода листинга программы
Этот код написан на языке Turbo Pascal и выполняет следующие действия:
- Создает массив
aс 10 элементами, где каждый элемент является целым числом. - Инициализирует три переменные:
m,iиimax. Переменнаяmустанавливается равнойn+1,i- к первому элементу массива, аimax- к максимальному значению из массива. - Выводит исходный массив. Для каждого элемента массива выводит его значение.
- Находит максимальный элемент в массиве и сохраняет его значение и номер в переменных
imaxиm. - Если максимальный элемент равен последнему элементу массива, то присваивает значение последнего элемента переменной
m. - Если максимальный элемент не равен последнему элементу массива, то перемещает все оставшиеся элементы на одну позицию влево.
- Выводит значения массива от первого до
mвключительно. - Завершает программу.