как найти ArrayMaximum () и минимальная (), не абсолютные значения?
PS: я не вижу никаких других *Простое* решение, чем:
- Использовать такую функцию, чтобы найти абсолютное макс (или минут).
- Как только локализованные он, удаленные из массива
- Reperform поиска: потому что во-первых, макс элемент, удалены, естественно новых макс старый второй
вы сами себе ответили. вот так и делайте.
но можно просто отсортировать.
вы сами себе ответили. вот так и делайте.
но можно просто отсортировать.
Да, но должен быть другой путь, более простой и прямой, используя только функции, не копировать, не удалять, не сортировать ...
можете еще запоминать в параллельный массив.
Идея заключается в выборе второй по величине элемента, а не первого. Это основная функция и простой, но не понимаю, потому что он требует так много операций с массивами.
Я уверен, что вы можете сделать только с ArrayMaximum() и только две строки кода, но я не могу найти правильную комбинацию.
ArraySort() .. исключено, я знаю, что такой подход, но именно поэтому этой теме появился на свет.
Может быть, я мог бы попробовать удалить наибольший элемент, а также выполнять поиск, и как говорилось выше, новый элемент будет больше, на самом деле во-вторых, потому что первый был отменен.
Но даже здесь я считаю, хороший код решение.
Я пытаюсь использовать ArrayBsearch() для этой цели, но игнорируя мой код и в области алгоритмов по-прежнему много, я заранее приношу извинения.
Если у вас есть решение .. Я рад его видеть.
Спасибо!
- www.mql5.com
может просто отсортировать ? на мой взгляд это будет проще.
Слишком кода.
Это не так просто, как вы думаете, хоть это может показаться.
Я хочу использовать ArrayMaximum() рекурсивно, так что первый входящий звонок, самый важный фактор, безусловно, и я хочу шанс сделать второй вызов, что исключает первый, второй курс второго элемента. Но я не вижу возможности это сделать.
- www.mql5.com
Я даже не могу найти практическое решение этой проблемы.
Идея заключается в выборе второй по величине элемента, а не первого. Это основная функция и простой, но не понимаю, потому что он требует так много операций с массивами.
Я уверен, что вы можете сделать только с ArrayMaximum() и только две строки кода, но я не могу найти правильную комбинацию.
ArraySort() .. исключено, я знаю, что такой подход, но именно поэтому этой теме появился на свет.
Может быть, я мог бы попробовать удалить наибольший элемент, а также выполнять поиск, и как говорилось выше, новый элемент будет больше, на самом деле во-вторых, потому что первый был отменен.
Но даже здесь я считаю, хороший код решение.
Я пытаюсь использовать ArrayBsearch() для этой цели, но игнорируя мой код и в области алгоритмов по-прежнему много, я заранее приношу извинения.
Если у вас есть решение .. Я рад его видеть.
Спасибо!
у меня 17 строк в функции, которая выполняет поиск элемента с заданным уровнем максимализма, у кого меньше?
этой же функцией можно искать минимум с заданным уровнем
Приветы! У меня так получилось найти второй(к уменьшению) максимум.
int i=ArrayMaximum(massiv,0,WHOLE_ARRAY); //ищем индекс с максимум double tt=massiv[i]; //сохраняем в промежуточную переменную значение massiv[i]=-1*DBL_MAX; //присваеваем минимальное значение int i2=ArrayMaximum(massiv,0,WHOLE_ARRAY); //определяем новый максимум(второй будет) Print (massiv[i2]); massiv[i]=tt; //возвращаем в массив по измененному индексу значение ,если надо
Приветы! У меня так получилось найти второй(к уменьшению) максимум.
Вы портите содержимое массива - вдруг это таймсерия?.
Разве речь шла о таймсериях? (Может, я что-то и пропустил).
И ничего он не "портит". Сначала запоминает tt=massiv[i], затем возвращает massiv[i]=tt.
Кто-то может помочь мне решить эту "проблему".
ArrayMinimum () и ArrayMaximum () просто возвращают соответственно индекс самым минимальным (маленьких) и самый максимум (самый большой) значение в массив, переданные ему.
Так что дать абсолютной Минимальные и максимальные значения, из массива.
Но что, если один поиск относительного минимума и максимума?Второй минимум, третий и т.д.?
Я имею в виду не маленьких или большая ценность, а второй маленький и второй больше (то есть, если большая ценность составляет 5, второй крупнее 3 и т.д.).
Как это сделать с помощью всего ArrayMaximum () / Минимальная () функции, или просто, как немногие строки кода, не поворачивая с ума 50 строк кода?
Спасибо!
PS: я не вижу никаких других *Простое* решение, чем:
- Использовать такую функцию, чтобы найти абсолютное макс (или минут).
- Как только локализованные он, удаленные из массива
- Reperform поиска: потому что во-первых, макс элемент, удалены, естественно новых макс старый второй