Создать программу: Одномерный массив в котором: сначало повторяющиеся элементы - Pascal
Формулировка задачи:
Помогите плиз, через пару часов сдача...
Создать одномерный массив А[M], переделать его таким образом, чтобы с начало были записаны элементы, которые встречаются несколько раз.
Очень срочно нужно...Буду безумно благодарен.
Решение задачи: «Создать программу: Одномерный массив в котором: сначало повторяющиеся элементы»
textual
Листинг программы
const mmax = 50; var a:array [1..mmax] of integer; i,j,m,tmp,k:integer; begin repeat write ('Razmer massiva: '); readln(m); until m in [1..mmax]; randomize; for i:=1 to m do begin a[i]:=random(9)+1; write (a[i]:3); end; writeln; i:=1; k:=1; while i<=m-1 do begin for j:=i+1 to m do if a[i]=a[j] then begin tmp:=a[j]; a[j]:=a[i+k]; a[i+k]:=tmp; inc(k); end; i:=i+k; k:=1; end; i:=1; k:=1; while i<=m-k do begin if ((i = 1) and (a[i] <> a[i+1])) or ((a[i] <> a[i+1]) and (a[i] <> a[i-1])) then begin tmp:=a[i]; for j:=i+1 to m-k+1 do a[j-1]:=a[j]; a[m-k+1]:=tmp; inc(k); end else i:=i+1; end; for i:=1 to m do write (a[i]:3); writeln; end.
Объяснение кода листинга программы
- Объявляются переменные:
- mmax - максимальное количество элементов в массиве (50);
- a - массив для хранения элементов (длиной от 1 до mmax);
- i, j, m, tmp, k - вспомогательные переменные для работы с массивом.
- Цикл repeat используется для получения от пользователя ввода количества элементов массива.
- В начале программы вычисляется случайное число для заполнения массива.
- Заполнение массива случайными числами от 1 до 9.
- Цикл while используется для сортировки массива по возрастанию. Внутренний цикл for проверяет на равенство текущего элемента массива с каждым последующим элементом. Если равенство найдено, то элементы меняются местами, при этом увеличивается счётчик k. Внешний цикл while отвечает за проход по всем элементам массива.
- Цикл while используется для сортировки массива по возрастанию. Внутренний цикл for проверяет на равенство текущего элемента массива с каждым предыдущим и следующим элементом. Если равенство найдено, то элементы меняются местами, при этом увеличивается счётчик k.
- В конце программы выводится отсортированный массив.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д