Загвоздка

 
Задача, вроде, элементарная, а не получается что-то. Нужно, чтобы при выполнении условий переменной m1 один раз присвоилось значение close_D1[1] и всё. А оно присваивается каждый раз, как только выполняются условия. Делаю так:

if (schetchik1==0)
{if (ss1<0 && ss2<0 && ss11>0)
{
schetchik1++;
m1 = close_D1[1];
Print("Минимум ", m1);
}
}
Как нужно задать счетчик, чтобы присваивание было разовым?
 
Введите дополнительную переменную, например логического типа, которая будет отвечать на вопрос был
ли вызов первым.
 
Введите дополнительную переменную, например логического типа, которая будет отвечать на вопрос был
ли вызов первым.

Не совсем понятно. А переменная schetchik1 вообще нужна? Она ведь принимает значение "1" после первого выполнения условий, почему в дальнейшем они снова проверяются - там ведь стоит if (schetchik1==0)?
 
Введите дополнительную переменную, например логического типа, которая будет отвечать на вопрос был
ли вызов первым.

Не совсем понятно. А переменная schetchik1 вообще нужна? Она ведь принимает значение "1" после первого выполнения условий, почему в дальнейшем они снова проверяются - там ведь стоит if (schetchik1==0)?

ну можно и счетчик....не заметил просто. :)
Наверно эта пременная обнуляется, это делаете либо Вы, либо mt. Если mt - объявите ее как static.
 

Наверно эта пременная обнуляется, это делаете либо Вы, либо mt. Если mt - объявите ее как static.

static никак нельзя, мне нужно будет её менять. Мне главное, чтобы она не обнулялась без моего ведома. Как же все-таки это происходит? Ведь четко же написано, что выполнять условия только когда schetchik1==0.
Причем каждый раз schetchik1 должен увеличиваться на 1, а он всегда равен 1
 
static никак нельзя, мне нужно будет её менять

посмотрите что такое static.

 
а в коде перед этим случайно нет строки типа
int schetchik1;


???

Он скорее всего при инициализации обнуляется ;)

Выход из положения - объявить schetchik1 ВНЕ ф-ции start(). Тогда менятся он будет только "по команде" =)

Причина обращения: