您的位置: 首页 > IT文章 > 天文分析与计算——年均流量及年极值洪量 天文分析与计算——年均流量及年极值洪量 分类: IT文章 • 2024-07-31 18:06:12 水文分析与计算——年均流量及年极值洪量//年均流量及年极值洪量.h void NianJunZhi() { using namespace std; ofstream outfile; outfile.open("outfile_YearQ_W.txt"); outfile<<setw(10)<<"年份"<<setw(10)<<"天数"<<setw(10)<<"年均流量"; for(int k = 0; k < J; k++) outfile<<setw(7)<<"最大"<<NumJ[k]<<"日"; outfile<<endl; ifstream infile; infile.open("infile_DayQ.txt"); for(int i = 0; i < Y; i++) { Year = StartYear + i; SumDay[i] = Sum[12];//初始化 if(Year == StartYear) SumDay[i] -= (Sum[StartMonth -1] + StartDate - 1); if(Year == EndYear) SumDay[i] = Sum[EndMonth - 1]+ EndDate; if(Year%400==0||(Year%4==0&&Year%100!=0)) { if (Year == StartYear&&StartMonth< 2) SumDay[i]++; if(Year == EndYear&&EndMonth > 2) SumDay[i]++; if(Year!=StartYear&&Year!=EndYear) //&&SumDay[i] == Sum[12] SumDay[i]++;//闰年且含2月份加一天 } YearQ[i] = 0;//初始化 for(int j = 0; j < SumDay[i]; j++) { infile>>Q[j]; YearQ[i] += Q[j]; } YearQ[i] /= SumDay[i]; outfile<<setw(10)<<Year<<setw(10)<<SumDay[i]<<setw(10)<<YearQ[i]; for(int k = 0; k<J; k++) {//求年极值洪量 MaxYearW[i][k] = 0;//初始化 for(int j = 0; j < SumDay[i] - NumJ[k] + 1; j++) { temp_W = 0;//初始化 for(int n = 0; n < NumJ[k]; n++) temp_W += Q[j + n]; if(temp_W > MaxYearW[i][k]) MaxYearW[i][k] = temp_W;//(m3/s*月) } outfile<<setw(10)<<MaxYearW[i][k]; } outfile<<endl; } infile.close(); outfile.close(); }