Одномерные массивы. Вставка и удаление элемента
Вставка и удаление элементов Алгоритм удаления элемента:определить номер удаляемого элемента - k(ввести с клавиатуры или найти из каких-то условий)сдвинуть все элементы начиная с k-ого на 1 элемент влевопоследнему элементу массива присвоить значение 0При удалении элемента размер массива не меняется! Поэтому необходимо далее в программе указывать не до n, а до n-1.
дан массив А: 3 5 6 8 12 15 17 18 20 25 k:=43 5 6 12 15 17 18 20 25 253 5 6 12 15 17 18 20 25 0
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:=43 5 6 8 8 12 15 17 18 20 253 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.