
29.12.2009, 21:31
|
 |
Местный
|
|
Регистрация: 20.02.2008
Адрес: Московская область
Сообщения: 420
Репутация: 884
|
|
наверное гдето так:
Код:
function TForm1.Compare2Mass(A, B: array of Integer): Boolean;
var
i, n, k, lenA : Integer;
X: array of Integer;
noIn,
netA: Boolean;
begin
Result := false;
lenA := Length(A);
if lenA <> Length(B) then
Exit; // если длины не совпадают то не получится
SetLength(X, lenA);
for i := 0 to lenA - 1 do
begin // для каждого элемента B[i] проверяем
netA := true;
for n := 0 to lenA - 1 do // проверяем массив А
if B[i] = A[n] then // есть такой элемент в массиве А
begin
noIn := true;
for k := 0 to i - 1 do
if n = X[k] then
begin // его уже сопоставили с другим элементом массива В
noIn := false;
break;
end;
if noIn then
begin // этот элемент еще не сопостовляли
X[i] := n;
netA := false; // нашли новый элемент в А соответствующий очередному в В
break;
end;
end;
if netA then // не нашли новый элемент в А соответствующий очередному в В
Exit;
end;
// если еще не вышли значит все элементы найдены
Result := true;
end;
|