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

Меню сайта

Мини-чат
300

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

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

Статистика

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

 Удаление нескольких элементов массива 

  • Удалить из массива все элементы между k-м и z-м элементами.

Рассмотрим задачу о массиве имеющего n=10, k=3, z=7(т.е. надо удалить элементы между третьим и седьмым). Пусть переменная d - количество удаляемых элементов. Значение d можно вычислить по формуле d = z-k-1( в нашем примере d=7-3-1).

Массив A до удаления:

a[1]

a[2]

a[3]

a[4]

a[5]

a[6]

a[7]

a[8]

a[9]

a[10]

1

3

9

1

0

1

3

2

7

2

 

^

 

^

 

^

a[k]

a[z]

a[n]

Массив A после удаления:                                                  

a[1]

a[2]

a[3]

a[4]

a[5]

a[6]

a[7]

1

3

9

3

2

7

2

 

^

^

 

^

a[k]

a[z]

a[n]


После удаления n стало меньше на d (в нашем примере на 3).

Общий алгоритм решения:

1. Сдвинуть элементы вперед на d элементов, начиная с z-го.

2. Уменьшить n на d.

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

var  k : integer; {индекс элемента, после которого удаляем}

      z : integer; {индекс элемента, до которого удаляем}
     d : integer; {количество удаляемых элементов}
...

 begin

...

d := z-k-1; { вычисляем количество удаляемых элементов}

for i :=z to  n  do

A[i-d]:=A[i]; { cдвигаем элементы}

Dec(n,d); {уменьшаем n на d}



<<Назад  1  | 2 |
                                                                                                                                                                                                                                           
Часы

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

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



Uploader

Поиск

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

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