Структура данных - массив. Часть 1 - 21 стр.

UptoLike

21
Задача 11. Удалить из массива все вхождения заданного значения.
Постановка задачи.
Входные данные
: n количество элементов массива (n N),
a[1..n] Z (множеству целых чисел);
x заданное значение, которое требуется удалить.
Выходные данные
: k- количество элементов в измененном массиве
a[1..k].
Промежуточные данные:
i– индекс для просмотра элементов массива.
Метод решения.
Идея метода удаления заключается в следующем: если очередной эле-
мент массива
a[i]x, то он записывается в массив по индексу k:
a[k]:=a[i].Здесь индекс k является счетчиком элементов в выходном
массиве.
Описание алгоритма.
k:=0;
for i:=1 to n do
if a[i]<>x then
begin
k:=k+1; a[k]:=a[i]
end;
Опишем алгоритм в виде процедуры Delete, считая, что удаление
происходит из массива
a[m..n] (1m<n).
const n_max=20;
type Tip= integer;
vect=array[1..n_max] of Tip;
Procedure Delete(m,n:integer; var a:vect;
x:Tip;var k:integer);
var i:integer;
begin
k:=m-1;
for i:=m to n do