//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<br> begin
j := i + 1;
while j <= kM do<br> 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