این برای ماکزیمم
int main()
{ int n , max ;
cout << " enter positive integers ( 0 to quit ) : " ; <= یعنی اعداد رو بنویسید
cin >> n ;
for ( max=n ; n>0 ; )
{ if ( n>max ) max=n ;
cin >> n ;
}
cout << " max= " << max << endl ;
}
خروجي برنامه :
enter positive integers ( 0 to quit ) : 44 77 55 22 99 33 11 66 88 0
max=99
حلقهي for در برنامهي بالا بوسيلهي متغير ورودي n كنترل ميشود . اين حلقه ادامه مييابد تا زماني كه n<=0 شود . متغير ورودي كه به اين شيوه براي كنترل حلقه نيز استفاده شود ، نگهبان ناميده ميشود .
به بخش كنترلي اين حلقه كه بصورت ( ; max=n ; n>0 ) است ، دقت كنيد . بخش پيشبري در آن وجود ندارد و بخش مقداردهي آن نيز متغير جديدي را تعريف نميكند بلكه از متغيرهايي كه قبلاٌ در برنامه تعريف شده ، استفاده ميبرد . علت اين است كه حلقهي مذكور ، نگهبان دارد و نگهبان از طريق ورودي پيش برده ميشود و ديگر نيازي به بخش پيشبري در حلقه نيست . متغير max نيز بايد مقدار خود را پس از اتمام حلقه ، حفظ كند تا در خروجي چاپ شود . اگر متغير max درون حلقه اعلان ميشد ، پس از اتمام حلقه از بين ميرفت و ديگر قابل استفاده نبود .