Регистрация
Войти
Стать экспертом Правила
Информатика

Массив с неповторимыми элементами. Даю99 поинтов.

ОТВЕТЫ
//PascalABC.NET/FPC/Delphi/Lazarus
var
  A: array of integer;
  i, kM, N, j, k: byte;
begin
  randomize;
  write('Размер массива = ');
  readln(N);
  write('kM = ');
  readln(kM);
  SetLength(A, N);
  write('Исходный массив: ');
  for i := 0 to N - 1 do
  begin
    A[i] := random(5) + 1;
    write(A[i]:3);
  end;
  writeln;
  i := 0;
  while i <= kM do
  begin
    j := i + 1;
    while j <= kM do
    begin
      if A[j] = A[i] then
      begin
        for k := j to kM - 1 do
          A[k] := A[k + 1];
        kM := kM - 1;
      end
      else
        j := j + 1;
    end;
    i := i + 1;
  end;
  write('Измененный массив: ');
  for i := kM + 1 to N - 1 do A[i] := 0;
  for i := 0 to N - 1 do write(A[i]:3);
  writeln;
end.

Пример:
Размер массива = 10
kM = 6
Исходный массив:   5  1  1  2  5  2  5  1  4  5
Измененный массив:   5  1  2  0  0  0  0  0  0  0
  1. Дополнительных переменных 3 вместо 2.
644
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам