Дан одномерный массив целых чисел, в котором элементы могут повторяться, сжать массив, удалив из него все элементы, которые встречаются только один раз — Pascal(Паскаль)

uses crt;
const nmax=100;
var a:array[1..nmax] of integer;
    n,i,j,k:byte;
    x:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Массив:');
for i:=1 to n do
 begin
  a[i]:=random(10);
  write(a[i],' ');
 end;
writeln;
writeln;
i:=1;
while i<=n do
 begin
  k:=0;
  for j:=1 to n do
  if (a[j]=a[i])and(i<>j) then k:=1;
  if k=0 then
   begin
    for j:=i to n-1 do
    a[j]:=a[j+1];
    n:=n-1;
   end
  else i:=i+1;
 end;
if n=0 then write('Все элементы удалены')
else
 begin
  writeln('Массив после сжатия:');
  for i:=1 to n do
  write(a[i],' ');
 end;
readln
end.

Leave a Comment

89 + = 96