Главная » Pascal, Исходники, Массивы » Добавление элемента в массив
Дек
16

Добавление элемента в массив

Добавить в отсортированный по-возрастанию массив введенный элемент, не нарушая порядок элементов.

[sourcecode highlight=»51″ language=»pascal»]
uses Crt;
const
n = 100;
var
A: Array[1..n] of Integer;
Temp, Nw: Integer;
i, j, Len: Byte;
Exch: Boolean;

begin
ClrScr; Randomize;
Readln(Len);
if (Len > n-1) and (Len < 0) then Halt;
for i:=0 to Len-1 do
A[i+1]:=Random(500);

Exch:=True; j:=1;
While Exch do
begin
Exch:=False;
for i:=1 to Len-j do
if A[i] > A[i+1] then
begin
Temp:=A[i];
A[i]:=A[i+1];
A[i+1]:=Temp;
Exch:=True;
end;
Inc(j);
end;

for i:=1 to Len do
Write(A[i]:4);
Writeln;
Readln(Nw);
Writeln;

i:=0;
Repeat
Inc(i);
Until ((i > n-1) or (A[i] = 0)) or (Nw < A[i]);

for j:=len downto i do
A[j+1]:=A[j];
A[i]:=Nw;

for i:=1 to len+1 do
Write(A[i]:4);
KeyPressed
end.
{ prepared special for www.kpeople.ru by AlexeyJava }
[/sourcecode]

Задаем массив длиною N, и вводим кол-во элементов Len ( 0 < Len < N ), которые заполнили этот массив от 1 до Len элемента. Затем выполняем сортировку по-возрастанию и вводим элемент Nw, который бы мы хотели поместить массив,





поэтому с помощью цикла Repeat..Until находим индекс элемента, который является большим за Nw или который равен нулю ( Nw — наибольший элемент). Сдвигаем последующие элементы на индекс вперед и ставим элемент Nw в его «законное место»

P.S. Если вы ищите лобовое стекло дмитровское шоссе тут, то можете перейти по ссылке и найдете большое количество лобовых стекол для разных типов автомобилей, яхт, спецтехники.



Понравилась статья? Сделай приятно ее автору, поделись с друзьями:


Хотите получать обновления данного блога на EMail?

Введите адрес Почтового Ящика:




Подтвердите подписку в письме пришедшем на Почту, после чего начнете получить рассылку.