int CalcAxis::calcAxis()
{
    minAbsValue = INT_MAX / 2;
    minAbsLeft = INT_MAX / 2;

    for(resetIter(); !isIterEnd(); incIter()){
        int curValue = calcWindow();
        if(abs(minAbsValue) > abs(curValue)){
            minAbsValue = curValue;
            minAbsLeft = curLeft;
        }
    }
    
    return minAbsLeft + dx / 2;
}
int main()
{
    char ch;
    while(fscanf(fin,"%c",&ch)!=EOF)
    {
        switch (ch)
        {
            case 'w': createWindow(); break;
            case 't': topWindow(); break;
            case 'b': bottomWindow(); break;
            case 'd': destroyWindow(); break;
            case 's': calcWindow(); break;
        }
    }
	return 0;
}
Esempio n. 3
0
int CalcAxis::calcAxis(){
    int prevLeft = minLeft;

    minValue = FLT_MAX;
    minLeft = INT_MAX;
    
    for(resetIter(); !isIterEnd(); incIter()){
        float curValue = calcWindow();
        
        if(std::abs(minValue) > std::abs(curValue)){
            minValue = curValue;
            minLeft = curLeft;
        }
    }
    
    if(minValue == FLT_MAX){
        minLeft = prevLeft;
        return INT_MAX;
    }
        
    return minLeft + dx / 2;
}