Удаляет из массива последний встретившийся элемент, с заданным значением:
{$APPTYPE CONSOLE}
Const
N = 10;
Type
Mass = array[1..N] of integer;
Procedure BBOD(Var A:Mass; N:integer);
Var i:integer;
Begin
For i:= 1 to N do
Read(A[i]);
End;
Procedure BBODRND(Var A:Mass; N:integer);
Var i:integer;
Begin
Randomize;
For i:= 1 to N do
A[i]:=random(21)-10;
End;
Procedure BbIBOD(Var A:Mass; N:integer);
Var i:integer;
Begin
Write('Mass(',N,'):');
For i:= 1 to N do
Write(' ',A[i]);
WriteLn;
End;
Procedure DLT(Var A:Mass; N:integer; Var k:integer);
Var i,D:integer;
Begin
Write('D = ');
ReadLn(D);
k:=0;
For i:= 1 to N do
if A[i] = D then k:=i;
if k > 0 then
Begin
For i:= k to N-1 do
A[i]:=A[i+1];
k:=1;
End
End;
Var
A:Mass;
k:integer;
Begin
BBODRND(A,N);
BbIBOD(A,N);
DLT(A,N,k);
BbIBOD(A,N-k);
ReadLn
End.