циф грамотность. Одномерные массивы. Вставка и удаление элемента. Одномерные массивы Вставка и удаление элемента Вставка и удаление элементов
Скачать 0.53 Mb.
|
Одномерные массивыВставка и удаление элемента Вставка и удаление элементовАлгоритм удаления элемента: определить номер удаляемого элемента - k(ввести с клавиатуры или найти из каких-то условий) сдвинуть все элементы начиная с k-ого на 1 элемент влево последнему элементу массива присвоить значение 0 При удалении элемента размер массива не меняется! Поэтому необходимо далее в программе указывать не до n, а до n-1. дан массив А:Элемент который нужно удалить дан массив А: 3 5 6 8 12 15 17 18 20 25 k:=4 3 5 6 12 15 17 18 20 25 25 3 5 6 12 15 17 18 20 25 0 const n= 30;const n= 30; var a : array [1..n] of integer; k, i : integer; begin {ввод массива и k} ... for i := k to n-1 do a[i] := a[i+1]; a[n] := 0; writeln(Результат:); for i := 1 to n-1 do write ( a[i] :3); readln; end. Алгоритм вставки элемента: (после k-ого) первые k элементов остаются без изменений все элементы, начиная с k-ого сдвигаются на 1 позицию назад на место (k+1)-ого элемента записываем новый элемент. Массив из n элементов, в который вставляется k элементов необходимо определять как массив, имеющий размер n+k. Вставка перед элементом отличается только тем, что сдвигаются все элементы, начиная с k-ого и на место k -ого записываем новый дан массив А:дан массив А: k:=4 3 5 6 8 8 12 15 17 18 20 25 3 5 6 8 100 12 15 17 18 20 25
позиция для добавления нового элемента Пример:Пример: Вставить 100 после элемента номер которого вводится с клавиатуры: const n= 30; var a : array [1..n+1] of integer; k, i : integer; begin {ввод массива и k} ... for i := n downto k+1 do a[i+1] := a[i]; a[k+1] := 100; writeln(Результат:); for i := 1 to n+1 do write ( a[i] :3); readln; end. |