Russian Qt Forum

Программирование => Общий => Тема начата: roman от Июнь 16, 2012, 20:15



Название: вложенные циклы
Отправлено: roman от Июнь 16, 2012, 20:15
в вайле не видит переменную i...почему?

Код:
for (int i=0; i<360; i++)
    {
        Dcdisk=0;
        Beta = i;

        while(Dcdisk <= Dpv && flag!=1)
        {

            if( Beta <= 180 ) { Omega = Beta; }
            if( Beta > 180 ) { Omega = 360 - Beta; }

            qDebug()<<"i="<<i <<"Omega="<< Omega <<"Beta="<<Beta;

            Dcnakl = sqrt( pow(Dcdisk,2) + pow(Hsvn,2) );
            Dp = sqrt( pow(Dcdisk,2) + pow(Rb,2) - 2*Rb*Dcdisk*cos(Omega*M_PI/180) );
            Dpnakl = sqrt( pow(Dp,2) + pow(Hsvn,2) );


            ae = 90 - ( 180*acos(Hsvn/Dcnakl) )/M_PI - ( 180*atan(Hsvn/Dp) )/M_PI;
            ab = ( 180*asin( Rb*sin(Omega*M_PI/180)/Dp ) )/M_PI;

            if(ab <= Tbeta)
            { gb = exp( (-1)*Kapr*(pow(ab,2)/pow(Tbeta,2)) ); }
            else
            { gb = ( pow(Tbeta,2) * exp((-1)*Kapr) ) / ( pow(ab,2) ); }
            if(ae <= Tebs)
            { ge = exp( (-1)*Kapr*(pow(ae,2)/pow(Tebs,2)) ); }
            else
            { ge = ( pow(Tebs, 2) * exp((-1)*Kapr) ) / ( pow(ae,2) ); }

            gbe = gb*ge;
            OtnP = ( pow(Dcnakl,4) * 4 * M_PI * Pp * Gp * fpr * gbe )/( Ksj * M * sqrt(N) * Pl * Gl * pow(Dpnakl,2) * Fp * Sig);

            if(OtnP >= Kp)
            {
                Dc = Dcdisk;
                flag = 1;
            }
            else
            {
                Dcdisk = Dcdisk + 10;
            }
        }

        if (flag != 1) { Dc = Dpv; }
        if ((Dc-Rbz)>=0)
        { A[i] = 0; } else { A[i] = 1; }

    }


Название: Re: вложенные циклы
Отправлено: kambala от Июнь 16, 2012, 20:43
что значит "не видит"? код не компилируется? и в каком конкретно месте не видит? и какое это отношение имеет к Qt?


Название: Re: вложенные циклы
Отправлено: roman от Июнь 16, 2012, 20:54
все компилируется, но переменная всегда ноль, в while пытаюсь ее вывести...
пишу на QT, точнее пробую


Название: Re: вложенные циклы
Отправлено: kuzulis от Июнь 16, 2012, 21:15
Наверное потому, что
Код
C++ (Qt)
while(Dcdisk <= Dpv && flag!=1)
 

всегда выполняется


Название: Re: вложенные циклы
Отправлено: Igors от Июнь 16, 2012, 21:16
все компилируется, но переменная всегда ноль, в while пытаюсь ее вывести...
пишу на QT, точнее пробую
Ну так может в while заходит только 1 раз, когда i = 0. Здесь не на форуме спрашивать надо, а отлаживаться