![]() |
|
|
#1
|
|||
|
|||
|
Дано два массива. Найти наименьшее среди тех элементов первого массива, не входящих во второй массив.
Помогите еще раз, пожалуйста |
|
#2
|
|||
|
|||
|
Ну, принцип тот же. Бежим по одному массиву, проверяем, есть ли такой элемент во втором и, если нету, то смотрим, не является этот элемент меньше, чем уже найденный.
Как-то так: Код:
function IsInArray(E : Integer; A : Array Of Integer) : Boolean;
var
I : Integer;
begin
Result := False;
For I := Low(A) To High(A) Do
Begin
Result := A[i] = E;
If Result Then Break;
End;
end;
function FindMinElement(A, B : Array Of Integer) : Integer;
var
I : Integer;
F : Boolean;
begin
F := True;
For I := Low(A) To High(A) Do
If Not IsInArray(A[i],B) Then
If F Then
Begin
Result := A[i];
F := False;
End
Else
If A[i] < Result Then Result := A[i];
end; |
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
katarasha (10.07.2015)
| ||
|
#3
|
|||
|
|||
|
Спасибо большое, но не сложно ли вам скинуть целиком программу?
|
|
#4
|
||||
|
||||
|
Найти минимум в не исключенных элементах массивов?
|
|
#5
|
||||
|
||||
|
Правильно?
Код:
Prelude Data.List> let foo x y = minimum $ filter (\i -> null $ elemIndex i $ nub x) y Prelude Data.List> foo [1,2,3,55,99] [1,2,3,4,5,55,99,55,6,7,8,9,10,11,12,55,27,74,163 4 Результат фильтра: [4,5,6,7,8,9,10,11,12,27,74,163] Код:
Prelude Data.List> let foo x y = minimum $ filter (\i -> null $ elemIndex i $ x) y Последний раз редактировалось M.A.D.M.A.N., 10.07.2015 в 23:48. |
|
#6
|
||||
|
||||
|
Оффтоп:
Цитата:
![]() Коднашарный формат таки намекает на полную сборку, вот вариант |
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
katarasha (11.07.2015)
| ||
|
#7
|
||||
|
||||
|
Цитата:
Тут сама идея излагается, а не scat-code. Последний раз редактировалось M.A.D.M.A.N., 11.07.2015 в 10:05. |
|
#8
|
|||
|
|||
|
Спасибо большущее!
|