Понедельник, 07.07.2025, 12:09
Информатика в школе
Приветствую Вас Гость | RSS
Главная Удаление элемента из массива Регистрация Вход
Форма входа

Меню сайта

Мини-чат
300

Категории
Школа и сайт [4]
Software [18]
Hardware [14]

Календарь
Календари для ucoz

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Удаление элемента из массива

 

  • Удалить из массива 1-ый элемент.

Удаление элемента заключается в:

1. Сдвиге элементов, стоящих правее  удаляемого;

2.Уменьшении количества элементов массива n на количество удаляемых элементов.

Сдвиг элементов выполняется так:

1. Начиная с удаляемого элемента, копируем содержимое элемента,  стоящего правее в текущий элемент: A[i]:=A[i+1].

2. Переходим к следующему элементу вправо: i:=i+1.

3. Заканчиваем сдвиг, когда i = n-1, так как i+1 при i = n-1 равен n..

Фрагмент программы:

for i:=1 to n-1 do { i :=1, потому что надо удалить 1-ый элемент}

A[i]:=A[i+1];    { сдвигаем элементы на одну позицию влево}

n:=n-1; { уменьшаем количество элементов в массиве}

  • Удалить из массива последний элемент.

решение аналогично предыдущей задаче, разница в том, что элементы сдвигаются вправо считая от последнего элемента к началу массива.

Фрагмент программы:

for i :=n  downto 1 do {просмотр от крайнего правого индекса массива}

A[ i ]:=A[ i-1 ]; { сдвигаем элементы на одну позицию вправо}
for i :=2 to n do { уменьшаем количество элементов в массиве}
write(A[ i ], '  ');

  •  Удалить из массива максимальный элемент массива.

Для этого надо:

1. Найти индекс максимального элемента.

2. Удалить элемент с найденным индексом.

Фрагмент программы:

Var  imax:IndexEl; {индекс максимального элемента}

Begin

...

{ ищем индекс максимального элемента массива}

imax:=1; {вначале imax указывает на первый элемент}

for i :=2  to  do  {в цикле начиная со 2-го элемента}

if A[i]>A[imax] then imax:=i;  {сравниваем i-ый элемент с максимальным на текущий момент времени, и если i-ый элемент больше максимального, то максимальным становится i-ый элемент}

for i :=imax to n-1 do   { удаляем элемент массива с индексом imax}

A[i]:=A[i+1]; {сдвиг влево}

dec(n); {уменьшаем n на 1}

Замечание: в Pascal’е имеются процедуры увеличения и уменьшения  переменной целого типа.

Inc - увеличение значения переменной.

Вид вызова

для целого X

Inc(x);

x:=x+1;

Inc(x,n);

x:=x+n;

где x - переменная целого типа;

n - целочисленное выражение.

В первом случае переменной x присваивается следующее значение (например, x была равна 10, тогда после выполнения inc(x)  равна 11). Таким образом, можно сказать, что запись inc(x)

эквивалентна записи x:=x+1. Можно также сказать, что запись inc(x,n) эквивалентна записи  x:=x+n.

Dec – уменьшение значения переменной.

Вид вызова

Для целого X

Dec(x);

x:=x-1;

Dec(x,n);

x:=x-n;



<<Назад
                                                                                                                                                                                                                                                   
Часы

Праздники России

Праздники России



Uploader

Поиск

Полезные ссылки
  • Официальный блог
  • Сообщество uCoz
  • Программисту
  • Олимпиаднику
  • Как создать сайт с нуля
  • Сайт МОУ СОШ №81
  • 3DNews

  • Александр Михайлович Марченко © 2025 Конструктор сайтовuCoz