Russian Qt Forum
Ноябрь 05, 2024, 22:03 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: вложенные циклы  (Прочитано 3472 раз)
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; }

    }
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4746



Просмотр профиля WWW
« Ответ #1 : Июнь 16, 2012, 20:43 »

что значит "не видит"? код не компилируется? и в каком конкретно месте не видит? и какое это отношение имеет к Qt?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
roman
Гость
« Ответ #2 : Июнь 16, 2012, 20:54 »

все компилируется, но переменная всегда ноль, в while пытаюсь ее вывести...
пишу на QT, точнее пробую
« Последнее редактирование: Июнь 16, 2012, 20:58 от roman » Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #3 : Июнь 16, 2012, 21:15 »

Наверное потому, что
Код
C++ (Qt)
while(Dcdisk <= Dpv && flag!=1)
 

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

ArchLinux x86_64 / Win10 64 bit
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #4 : Июнь 16, 2012, 21:16 »

все компилируется, но переменная всегда ноль, в while пытаюсь ее вывести...
пишу на QT, точнее пробую
Ну так может в while заходит только 1 раз, когда i = 0. Здесь не на форуме спрашивать надо, а отлаживаться
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.085 секунд. Запросов: 23.