Создать программу: Одномерный массив в котором: сначало повторяющиеся элементы - 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.

Объяснение кода листинга программы

  1. Объявляются переменные:
    • mmax - максимальное количество элементов в массиве (50);
    • a - массив для хранения элементов (длиной от 1 до mmax);
    • i, j, m, tmp, k - вспомогательные переменные для работы с массивом.
  2. Цикл repeat используется для получения от пользователя ввода количества элементов массива.
  3. В начале программы вычисляется случайное число для заполнения массива.
  4. Заполнение массива случайными числами от 1 до 9.
  5. Цикл while используется для сортировки массива по возрастанию. Внутренний цикл for проверяет на равенство текущего элемента массива с каждым последующим элементом. Если равенство найдено, то элементы меняются местами, при этом увеличивается счётчик k. Внешний цикл while отвечает за проход по всем элементам массива.
  6. Цикл while используется для сортировки массива по возрастанию. Внутренний цикл for проверяет на равенство текущего элемента массива с каждым предыдущим и следующим элементом. Если равенство найдено, то элементы меняются местами, при этом увеличивается счётчик k.
  7. В конце программы выводится отсортированный массив.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.667 из 5
Похожие ответы