Непонятно, зачем ты взялся за работу, если в программировании не шаришъ)
Желаемое определение массива:
Код:
type
TIntegerArray = array of Integer;
функция определения, является ли число "производным")
Код:
function IsValidatedNum(const aNum, aProduct:Integer):boolean;
var
str:string;
tmpProduct, i:Integer;
begin
str:=IntToStr(aNum);
tmpProduct:=StrToInt(str[1]);
if Length(str) > 1 then
for i:=2 to Length(str) do
tmpProduct:=tmpProduct*StrToInt(str[i]);
Result:=tmpProduct=aProduct;
end;
Процедура очистки массива от "непроизводных" чисел:
Код:
procedure RemoveNonProductNumbers(var a:TIntegerArray; const aProduct:Integer);
var
i,c:integer;
begin
if Length(a)>0 then
begin
c:=Low(a);
for i:=Low(a) to High(a) do
if IsValidatedNum(a[i],aProduct) then
begin
a[c]:=a[i];
Inc(c);
end;
SetLength(a,c);
end;
end;
Сам вызов процедуры:
Код:
...
RemoveNonProductNumbers(FIntegerArray,28);
...
FIntegerArray ( :TIntegerArray; ) - твой массив с числами.
С остальным думаю справишься)