Показать сообщение отдельно
  #2  
Старый 01.12.2009, 01:18
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

Непонятно, зачем ты взялся за работу, если в программировании не шаришъ)
Желаемое определение массива:
Код:
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; ) - твой массив с числами.
С остальным думаю справишься)
Ответить с цитированием