Ето нещо набързо. Оптимизацията остава за теб.
Код:
// vreme.cpp
// Dev C++
/*
Да се състави програма Temp,която за месец състоящ се от 30 календарни
дни,въвежда данни за средните дневни температури за всеки ден и отпечатва:
1)Средната температура за месеца;
2)Средната температура за второто десетдневие;
3)Минималната температура за първото десетдневие;
4)Датите,на които температурите са били под средната;
5)Най дългия период на застудяване - последователност от дни с температура под средната.
*/

#include <iostream>
#include <conio.h>

using namespace std;

#define N 30

void read();
float temp();
void print();

bool flag = false;
float mesec[N];

int main()
{
    print();    
    cout<<endl;

    return 0;
}

// -----------------------------------------------------------------------------
void read()
{
     flag = true;
       
     for(int i=0; i<N; i++)
     {
             cout<<"den "<< i+1 <<" : ";
             cin>>mesec[i];
     }
}

// -----------------------------------------------------------------------------
float temp(int n)
{
    float sr_temp = 0;
    int i =0;
    
    if(!flag)
    {
       cout << "vyvedete dannite: "<<endl;
       read();
    }
    
    if( n == 1)
    {
        for(i=0; i<N; i++)
           sr_temp += mesec[i];     
        return sr_temp/N;
    }   
    
    if( n == 2)
    {
       for(i=10; i<20; i++)
           sr_temp += mesec[i];
       cout << endl <<"sredna temperatura za vtoro desetdnevie: ";
       return sr_temp/10;       
    }
    
    if( n == 3)
    {
        float min_temp = mesec[0];
        for(i=1; i<10; i++)
            if(min_temp > mesec[i]) min_temp = mesec[i];
        cout << "minimalna temperatura za pyrvite 10 dni: ";
        return min_temp;
    }                           
}

// -----------------------------------------------------------------------------
void min_days(int n)
{
     float sr_temp = temp(1);
     int count_t=0, count_all=0, i; 
     
     if(n == 4)
     {
         cout << endl;
         cout<<"dni pod srednata temperatura: ";
         for(i=0; i<N; i++)
             if(mesec[i] < sr_temp) cout<< i+1 <<" ";
         cout << endl << endl;
     }
     
     if(n == 5)
     {
         for(i=0; i<N; i++)
         {
             if(mesec[i] < sr_temp) count_t ++;
             else if(count_all < count_t)
                  {
                     count_all = count_t;     
                     count_t = 0;
                  }
         }
         cout << "studen period v dni: " << count_all << endl;        
     }   
}

// -----------------------------------------------------------------------------
void print()
{
     int menu = 0;
     
     do{
         cout<<endl;
         cout<<"1. sredna temperatura za mesec"             <<endl;
         cout<<"2. sredna temperatura za vtoro desetdnevie" <<endl;
         cout<<"3. minimalna za 1 desetdnevie"              <<endl;
         cout<<"4. dni pod srednata temperatura"            <<endl;
         cout<<"5. studen period"                           <<endl;
         cout<<"0. exit"                                    <<endl;
         cout << "izbor ot menu: ";
         cin >> menu;
         cout<<endl;
         
         switch(menu)
         {
           case 1:
           case 2:
           case 3: cout << temp(menu) << endl; break; 
           case 4:
           case 5: min_days(menu); break;
           default : cout<<"Incorect input!"<<endl; break;
         }      
     } while(menu != 0);          
}

// -------------------------- END ----------------------------------------------
Ето подобна програма, която преди много време трябваше да напиша.
Код:
/********************************************************************/
/* Програма, която въвежда температурата за всеки ден от месеца     */ 
/* ( сутрин, обед и вечер) и определя по зададен ден средната       */ 
/* температура за деня                                              */ 
/********************************************************************/

#include <iostream.h>
#include <iomanip.h>
#include <string.h>

// прототипи на функции ----------------------------------------------

void Day_Mesec(int a, int b, int &max);
void Enter_Data();
int main();

// -------------------------------------------------------------------
int main()
{
	Enter_Data();
        return 0;
}

// -------------------------------------------------------------------
void Enter_Data()
{
		float day[31][3], srt[31]; //темп. за всеки ден, средна темп.
		float sum; 
		int den, mesec, godina, max =0;  
		char ch[10];                   
		cout<<"Въведете годината ";
		cin>>godina;
		cout<<"За кой месец ще отчитате температурата? ";
		cin>>mesec;
		Day_Mesec(mesec, godina, max);
		for (int i = 0; i < max; i++)
		{
			cout<<"Ден "<<i+1<<"\n";
			for (int j = 0; j < 3; j++)
			{
				switch (j)
				{
				  case 0: strcpy(ch,"сутринта "); break;
				  case 1: strcpy(ch,"на обяд ");  break;
				  case 2: strcpy(ch,"вечерта ");  break;
				}
				cout<<"Каква е температурата "<<ch;
				cin>>day[i][j];
				sum += day[i][j];  
			}
			srt[i] = sum/3;
			sum = 0;            
		}
		if(max > 27 && max < 32)
		{
			cout<<"\nЗа кой ден искате средната температура?  ";
			cin>>den;
			cout<<"\nСредната температура е "<<setprecision(2)<<srt[den-1]<<" градуса\n";
		}
		else return;
}

// ------------------------------------------------------------------------
void Day_Mesec(int a, int b, int &max)
{
	switch (a)
		{
			case 1:
			case 3:
			case 5:
			case 7:
			case 8:
			case 10:
			case 12: max = 31; break;
			case 4:
			case 6:
			case 9:
			case 11: max = 30; break;
			case 2: max = ( (b % 4) == 0 )? 29 : 28; break;// дали е високосна
			default : cout<<"няма такъв месец !";  break;
		}
	return;
}
Успех!