Обработка массивов. Власенко О.Ф - 18 стр.

UptoLike

3. Количество элементов n увеличить на 1 .
Общий алгоритм программы следующий:
1 . Введем массив А.
2 . Найдем индекс max элемента.
3 . Вставим после max 0.
4 . Выведем получившийся массив.
Приведем полный текст программы:
{Пример обработки одномерного массива}
{ Задание: В массив после максимального элемента
вставить элемент, равный 0}
Program InsertExample;
Const {определение констант}
maxN = 20; {максимально возможное количество элементов
в массиве}
Type {определение типов}
IndexEll = 1 .. maxN; {индексы массива лежат в интервале
от 1 до maxN}
arrInt = array[interval] of integer; {массив целых чисел,
содержащий до maxN элементов}
Var
a:arrInt; {массив}
n:integer; {количество элементов в массиве}
i:IndexEl; {переменная для сканирования массива}
max: IndexEl; {номер max элемента массива}
Begin
{1 - ввод массива - генерируем случайные элементы}
randomize;
n:=random(6)+5; {n в интервале 5..10}
for i:=1 to n do
A[i]:=random(19)-9; {Генерируем элементы массива}
{ каждый элемент имеет значение в интервале -9..9}
{2 - ищем индекс max элемента}
max:=1;
for i:=2 to n do
if A[i]>A[max] then max:=i;
{3- вставляем 0 после максимального элемента}
{сначала сдвигаетхвостмассива вправо}
for i:=n downto max+1 do
A[i+1]:=A[i];
{заносим в следующий за максимальным элемент 0}
A[max+1]:=0;