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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2017, 18:30   #1
vadimc
Пользователь
 
Регистрация: 13.10.2012
Сообщений: 30
По умолчанию Цикл

Прошу помочь разобраться в моменте WI=WI+DWI 44 строчка
wi присваивается значение 3,14159 а dwi=0.00087266
получается что первый угол будет равен WI+DWI =3.142463 , следующий 3,142463 + DWI и тд
беда в том что выводиться только DWI которая с каждым шагом прибавляет сам себя , значение WI куда то пропадает . помогите исправить




Код:
#include <math.h>
#include <stdio.h>


int main()
{
    FILE *file;
    float D,SH,RL,AM,AN,A,RM,RLL,TCT,PB,PH,TB,NO,N,CP,R,CV,B,XB,DU;

    D = 0.05;
    SH = 0.05;
    RL = 0.2;
    TCT = 330;
    PB = 100000;
    PH = 500000;
    TB = 330;
    AM = 0.05;
    NO = 1000;
    N = 7200;
    CP = 1000;
    R = 287;
    CV = 712;
    AN = 1.4;
    A = 0.25;
    B = 600;
    XB = 0.8;
    RM = 20100000;
    

    int P = PB;
    int T = TB;

	float WI = 3.14159;
    float DWI = 0.00087266; /*Øàã èíòåãðèðîâàíèÿ*/

    /*Ñ×ÈÒÀÅÌ ÏÀÐÀÌÅÒÐÛ*/
    float VH = ((3.14159*D*D*SH)/4)*(1+AM);
    float GH = (VH*PB)/R*TB;
     float U = CV*GH*TB;
    int i;
	file = fopen("fileresult.txt", "w");
     for (i = 1; i <= N; i++) // çàäàåì íà÷àëüíîå çíà÷åíèå 1, êîíå÷íîå N è çàäàåì øàã öèêëà - 1.
    {
        float WI = WI + DWI  ;
        float VH1 = (3.14159*D*D*SH)/4;
        float VM = AM*VH1;
        float V = (VH1/2)*(1-cos(WI))+(RL/4)*(1-cos(2*WI))+VM;
        float VP = fabs((SH/2)*((3.14159*NO)/30)*sin(WI)+(RL/2)*sin(2*WI));
        float RO = P/(R*T); /*ÏËÎÒÍÎÑÒÜ*/
        float RE = (VP*D)/(RM*RO); /*ÊÎÝô ÐÅÉÍ*/
        float ANU = A*exp(XB*log10(RE))+B; /*ÊÎÝÔ ÍÓÑÈËÜÄÀ*/
        float ALFA = (ANU*RL)/D; /*ÊÎÝÔ ÒÅÏËÎÎÒÄÀ×È*/
        float FP = (3.14159*D*D)/4;
        float S = V/FP;
        float FT = (FP*2)+3.14159*D*S;
        float CN1 = (3.14159*NO)/30;
        float DTAU = DWI/CN1;
        float DQ = ALFA*FT*(TCT-T)*DTAU;
        float DU = DQ+P*VP+FP*DTAU;
        float U=U+DU;

        float P = ((AN-1)*U)/V;
        float T = (P*V)/(GH*R);

        //scanf("Ïåðåìåííàÿ V = ",V);
        //scanf("Ïåðåìåííàÿ DU = ",DU);
        //scanf("Ïåðåìåííàÿ P = ",P);
        //scanf("Ïåðåìåííàÿ T = ",T);

		fprintf(file, "%f %f %f %f %f\n",WI, V, VP, P, T);

	}
	fclose(file);

    }
vadimc вне форума Ответить с цитированием
Старый 29.05.2017, 18:37   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

У вас переменная WI объявлена вне и внутри цикла. Уберите "float" в 44 строке.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 29.05.2017, 19:01   #3
vadimc
Пользователь
 
Регистрация: 13.10.2012
Сообщений: 30
По умолчанию

убераю , считает так же подскажите как правильно сделать чтобы он к новому числу прибавлял dwi
vadimc вне форума Ответить с цитированием
Старый 29.05.2017, 19:26   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

По-моему, WI верно считается - http://ideone.com/wXl02A.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Если поставить цикл For в цикл Repeat то как будут выполняться циклы? Владимир10101 Помощь студентам 3 14.11.2016 20:14
написать процедуры для “Цикл For ... Next ” и «Цикл Do ... Loop» по ниже приведенному условию Кристина_Патачиц Microsoft Office Excel 3 17.04.2013 17:01
Цикл по времени - Как сделать так чтобы цикл выполнялся к примеру 10 секунд ? Anarki Общие вопросы C/C++ 3 13.11.2009 19:23
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34