Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Нужно найти все варианты значений из заданного диапазона в массиве произвольного размера?
значения элементов массива могут быть либо 0 либо 1.
тут i сдвигается вправо на i1 двоичных разрядов (битов) и из результата извлекается младший бит.
Дауж при слове "сдвиагется", и слове "Бит".... голова кругом. :) я наверное туплю.... Но вот в массиве провели одно изменение, потом производиться некие расчеты и нужно сново провести изменение... Важно еще исключить повторяющиеся варианты.Да нужно учитывать и то что массив будет меняться от заданного значения пользователем min, max.
значения элементов массива могут быть либо 0 либо 1.
Да нужно учитывать и то что массив будет меняться от заданного значения пользователем min, max.
значения элементов массива могут быть либо 0 либо 1.
Тогда, простейшим, но не оптимальным по времени исполнения будет такой подход:
1) Генерируем числа из заданного диапазона для всей строки.
2)Пишем эту строку в базу
3)Генерируем новую строку чисел
4)Сверяем с базой
5)Если в базе нет такой строки, дописываем, если есть, п. 3)
И так пока не заполним базу заданного размера. Можно применить и другие критерии останова.
Дауж при слове "сдвиагется", и слове "Бит".... голова кругом. :) я наверное туплю.... Но вот в массиве провели одно изменение, потом производиться некие расчеты и нужно сново провести изменение... Важно еще исключить повторяющиеся варианты.
в функцию, а саму эту переменную передавайте в функцию в качестве аргумента.1) вынесите то, что внутри цикла
Результатом функции должен быть заполненный массив и следующее значение итератора i (будете передавать его в функцию при следующем вызове)
2) какие могут быть повторяющиеся элементы, если используется перебор?
Вот для заданных значений (minIndx иmaxIndx):
Спасибо, попробую Ваш код.тоесть вначале проверяются все варианты для массива с 6ю элементами, потом с 7ю, и так например до 15...
массив я обьявляю статический максимальным размером в 15 элементов. есть переменная которая хранит текущее значение размера используемого массива. когда я увеличиваю количество используемых элементов с 6 ддо 7 и тд..., будет ли работать этот код?
Спасибо, попробую Ваш код.
Вот Вам функция, тестируйте:
Примечания:
1) переменные minIndx, maxIndx и массив arr[6] должны быть объявлены на глобальном уровне;
2) за корректностью значений minIndx, maxIndx Вы уж сами следите;
3) как только функция начнет возвращать 6, перебор окончен.
Попробовал вот этот код.... все работает..., Только как мне еще учесть размер массива...
тоесть вначале проверяются все варианты для массива с 6ю элементами, потом с 7ю, и так например до 15...
массив я обьявляю статический максимальным размером в 15 элементов. есть переменная которая хранит текущее значение размера используемого массива. когда я увеличиваю количество используемых элементов с 6 ддо 7 и тд..., будет ли работать этот код?
используйте функцию:
Вот Вам функция, тестируйте:
Примечания:
1) переменные minIndx, maxIndx и массив arr[6] должны быть объявлены на глобальном уровне;
2) за корректностью значений minIndx, maxIndx Вы уж сами следите;
3) как только функция начнет возвращать 6, перебор окончен.
:) Вроде немного стал понимать Ваш код. Вы уж извините что я такой недо программист и понимаю наверное с 10 раза....За что у Вас отвечают переменные maxIndx и minIndx? Если я правильно понял то за отрывок в массиве который подвергается перебору?
Если да, то минимальное значение не нужно использовать, так как оно всегда равно 0 (это первый элемент массива), а вот размер максимального элемента меняется по нарастающей тоесть в начале он равен 5, что значит в используемом мною массиве arr[15] последним элементом будет считаться 4й. Затем количество элементов увеличивается и последний элемент уже 5й. затем 6й и так далее...
Перебирать нужно с 2го элемента (тоесть это всегда arr[1]) до пред последнего arr[tek_raz-1] (tek_raz это текущий используемый последний элемент массива). Вот в общемто что мне нужно сделать.ТОесть например если это будет функция то нужно перебрать все эелементы в массиве arr учитывая его текущий размер tek_raz.