Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2011, 03:58   #1
Anton_uz
Пользователь
 
Регистрация: 02.12.2009
Сообщений: 10
Смущение как посчитать все итерации в циклах ?

Привет !

-Конечно, язык MQL4 отличается от C++, но в целом синтаксис и базовая часть идентичны, и

поскольку не было подходящей ветки, я запостился именно здесь.

Вопрос не простой:
есть несколько циклов - это число постоянное
один цикл вложен в другой и так далее по цепочке

для каждого из этих циклов известны:
минимальное значение,
максимальное значение,
шаг,
значение, с которого следует продолжить цикл (т.е. оно срабатывает только один раз при

старте программы с этими циклами)

i=0;
for (c4=min[4]; c4<=lev[4]; c4+=st[4]) //L4
{
for (c3=min[3]; c3<=lev[3]; c3+=st[3]) //L3
{
for (c2=min[2]; c2<=lev[2]; c2+=st[2]) //L2
{
for (c1=min[1]; c1<=lev[1]; c1+=st[1]) i++; //L1
}
}
}

- чему будет равняться переменная i, если при старте первый раз каждый цикл будет начинаться

не с начала, а с некоторого значения, входящего в диапазон работы цикла

вот кусок рабочего кода (переменные с префиксом _con 0 -это указатель начала работы цикла

только первый раз!):


* * * начало фрагмента кода * * *
i=0;
Print (""); Print (" * * * THE START OF TRACE * * *"); Print ("");
if (AUTOCALC==1 && time_point<1) Print ("Ждите значения времени проведения тестирования

для одной точки входа в тренд...");
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^ НАЧАЛО ПЕРЕБОРА ЗНАЧЕНИЙ

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^
for (TRADE_LAG=TRADE_LAG_MIN; TRADE_LAG<=TRADE_LAG_MAX; TRADE_LAG+=TRADE_LAG_STEP) {if

(TRADE_LAG_con>TRADE_LAG_MIN) {TRADE_LAG=TRADE_LAG_con; TRADE_LAG_con=-2000;}
for (SILENCE_TCK=SILENCE_TCK_MIN; SILENCE_TCK<=SILENCE_TCK_MAX;

SILENCE_TCK+=SILENCE_TCK_STEP) {if (SILENCE_TCK_con>SILENCE_TCK_MIN)

{SILENCE_TCK=SILENCE_TCK_con; SILENCE_TCK_con=-2000;}
for (BASE_METRIC_LENGTH=BASE_METRIC_LEN GTH_MIN;

BASE_METRIC_LENGTH<=BASE_METRIC_LEN GTH_MAX; BASE_METRIC_LENGTH+=BASE_METRIC_LEN GTH_STEP) {if

(BASE_METRIC_LENGTH_con>BASE_METRIC _LENGTH_MIN) {BASE_METRIC_LENGTH=BASE_METRIC_LEN GTH_con;

BASE_METRIC_LENGTH_con=-2000;}
if (TRADE_LAG==2 && BASE_METRIC_LENGTH>SILENCE_TCK) {OLD_BML=BASE_METRIC_LENGTH;

BASE_METRIC_LENGTH=SILENCE_TCK;} else OLD_BML=-1;

for (UMDC_USE=UMDC_USE_MIN; UMDC_USE<=UMDC_USE_MAX; UMDC_USE++) {if

(UMDC_USE_con>UMDC_USE_MIN) {UMDC_USE=UMDC_USE_con; UMDC_USE_con=-2000;}
for (USE_FM=USE_FM_MIN; USE_FM<=USE_FM_MAX; USE_FM++) {if (USE_FM_con>USE_FM_MIN)

{USE_FM=USE_FM_con; USE_FM_con=-2000;} if (USE_FM==1)

{WALL_INACCURACY_MAX0=WALL_INACCURA CY_MAX;

MINIMAL_PROFIT_METRIC_PIPS_MAX0=MIN IMAL_PROFIT_METRIC_PIPS_MAX;

METRIC_INACCURACY_MAX0=METRIC_INACC URACY_MAX;} else

{WALL_INACCURACY_MAX0=WALL_INACCURA CY_MIN;

MINIMAL_PROFIT_METRIC_PIPS_MAX0=MIN IMAL_PROFIT_METRIC_PIPS_MIN;

METRIC_INACCURACY_MAX0=METRIC_INACC URACY_MIN;}

i++;

}}}}}}
* * * конец фрагмента кода * * *

- если учесть, что преднамеренного первого сдвига значений в цикле не происходит, то

высчитать общее конечное число итераций для самого нижнего из циклов могу и я

а вот, как сделать, чтобы можно было подсчитать с точностью до +/- 1 цикла всё это, учитывая

возможный первый неправильный старт каждого из циклов ?

другими словами - чему рвно "i" (этот ответ нужно дать не проводя поцикловой подсчёт как

вывидите выше, т.к. это долго)
Anton_uz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как посчитать все итерации в циклах ? a_cre Общие вопросы C/C++ 3 15.10.2011 06:46
(JAVA) ИТЕРАЦИИ ПО СПИСКУ КОТОРЫЙ ВСЕ ВРЕМЯ МЕНЯЕТСЯ LadyDisco Помощь студентам 1 26.05.2011 16:26
решение как мне кажется должно быть методом итерации или(и) дихотомии...)))) Varv Помощь студентам 3 30.01.2011 10:55
Как на каждой итерации цикла создавать новый файл одной командой? atg Общие вопросы C/C++ 2 24.09.2009 15:02
Паскаль. найти все числа кратные трем и посчитать их количество __k1ll3r__ Помощь студентам 6 02.04.2008 16:37