ВУЗ:
Составители:
22
if a[i]<>x then
begin
k:=k+1;
a[k]:=a[i]
end;
end;
Задача 12. Удалить из массива повторяющиеся элементы.
Например, пусть дан массив : 4 8 4 2 5 8 4 1 5.
После удаления повторяющихся элементов получим массив:
4 8 2 5 1, то есть отсутствуют дублированные элементы.
Постановка задачи.
Входные данные
: n − количество элементов массива,
a[1..n] ∈ Z (множеству целых чисел).
Выходные данные
: k- количество элементов в измененном массиве
a[1..k].
Промежуточные данные:
i– индекс для просмотра элементов массива.
Метод решения.
Для решения задачи используем процедуру задачи 11
Delete.
Описание алгоритма.
i:=1;
while (i< n) do
begin
Delete(i+1,n,a,a[i],k);
n:=k;
i:=i+1
end;
В алгоритме нельзя использовать цикл for… , так как кратность цикла
меняется на каждом шаге циклического процесса.
Страницы
- « первая
- ‹ предыдущая
- …
- 20
- 21
- 22
- 23
- 24
- …
- следующая ›
- последняя »