PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018 Внимание! Если программа не работает, обновите версию!
begin var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println; var k:=ReadInteger('От повторов какого числа избавляемся?'); var id:=a.FindIndex(t->t=k); var b:=Copy(a); if id>-1 then begin var i:=0; while a[i]<>k do begin // до первого появляния нужного числа b[i]:=a[i]; i+=1 end; b[i]:=a[i]; i+=1; // само число var j:=i; // остальные такие числа будеи пропускать while i<a.Length do begin if a[i]<>k then begin b[j]:=a[i]; j+=1 end; i+=1 end; SetLength(b,j) end; b.Println end.
Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
var k:=ReadInteger('От повторов какого числа избавляемся?');
var id:=a.FindIndex(t->t=k);
var b:=Copy(a);
if id>-1 then begin
var i:=0;
while a[i]<>k do begin // до первого появляния нужного числа
b[i]:=a[i];
i+=1
end;
b[i]:=a[i]; i+=1; // само число
var j:=i; // остальные такие числа будеи пропускать
while i<a.Length do begin
if a[i]<>k then begin b[j]:=a[i]; j+=1 end;
i+=1
end;
SetLength(b,j)
end;
b.Println
end.
Пример
n= 20
-43 -39 -9 -50 3 26 -43 9 -19 35 -13 -38 2 -32 -7 36 0 -43 11 -40
Укажите число-дубликат: -43
-43 -39 -9 -50 3 26 9 -19 35 -13 -38 2 -32 -7 36 0 11 -40