Удалить из массива повторное вхождение букв - PascalABC.NET
Формулировка задачи:
Удалить из массива повторное вхождение символов
Вот что у меня получилось...
Решение задачи: «Удалить из массива повторное вхождение букв»
textual
Листинг программы
var a:packed array [1..110] of char; i,j,k,t:integer; begin k:=10; for i:=1 to k do readln(a[i]); writeln('Исходный массив'); for i:=1 to k do write(a[i]); writeln; i:=1; while i<k do begin j:=i+1; while j<=k do if a[j]=a[i] then begin k:=k-1; if j<k then for t:=j to k-1 do a[t]:=a[t+1]; end else j:=j+1; i:=i+1; end; writeln('Массив без повторов'); for j:=1 to k do write(a[j]); end.
Объяснение кода листинга программы
В этом коде представлен алгоритм удаления повторяющихся элементов из массива в языке программирования PascalABC.Net.
- Переменные:
a
- массив символов, в котором удаляются дубликаты.i
,j
,k
,t
- целочисленные переменные, используемые в циклах.
- Цикл и чтение данных:
- Строка
k:=10;
устанавливает размер массива в 10 элементов. - Цикл
for i:=1 to k do readln(a[i]);
считывает 10 символов из массива. - Вывод исходного массива с помощью цикла
for i:=1 to k do write(a[i]);
.
- Строка
- Удаление дубликатов:
- Цикл
i:=1;
инициализирует переменную для обхода массива. - Внутренний цикл
while i<k do
начинается, когда значениеi
меньше текущего размера массива. - Внутренний цикл
while j<=k do
проверяет каждый элемент массива, начиная сj=i+1
, чтобы избежать удаления самого себя. - Если элементы
a[j]
иa[i]
совпадают, то выполняется следующий код: - Строка
k:=k-1;
уменьшает размер массива на 1. - Если
j<k
, то используется циклfor t:=j to k-1 do a[t]:=a[t+1];
, чтобы сдвинуть все элементы справа отj
на одну позицию вправо. - Если элементы не совпадают, то
j:=j+1;
переходит к следующему элементу для проверки. - После выхода из внутреннего цикла
while j<=k do
, значениеi
увеличивается на 1.
- Цикл
- Вывод отработанного массива:
- Вывод отработанного массива с помощью цикла
for j:=1 to k do write(a[j]);
. В итоге, данный код считывает 10 символов, удаляет повторяющиеся элементы и выводит окончательный массив.
- Вывод отработанного массива с помощью цикла
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д