حلقههای for تودرتو
برنامهی زیر یک جدول ضرب چاپ میکند :
# include < iomanip > // defines setw()
# include < iostream > // defines cout
using namespace std ;
int main()
{ for ( int x=1 ; x <= 10 ; x++ )
{ for ( int y=1 ; y <= 10 ; y++ )
cout << setw ( 4 ) << x * y ;
cout << endl ;
}
}
خروجی به شکل زیر نمایش داده میشود :
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
در اولین تکرار از حلقهی بیرونی ، وقتی x=1 است ، حلقهی درونی 10 مرتبه تکرار میشود و به ازای y=1 تا 10 مقادیر 1*y را روی یک ردیف چاپ میکند . وقتی حلقهی درونی پایان یافت ، با دستور cout << endl ; مکاننما به خط بعدی روی مانیتور پرش میکند . حالا دومین تکرار حلقهی بیرونی به ازای x=2 آغاز میشود . دوباره حلقهی درونی 10 مرتبه تکرار میشود و این دفعه مقادیر 2*y روی یک خط چاپ میشود . دوباره با دستور cout << endl ; مکاننما به خط بعد میرود و تکرار سوم حلقهی بیرونی آغاز میشود . این رویه ادامه مییابد تا اینکه حلقهی بیرونی برای بار دهم تکرار شده و آخرین خط جدول هم چاپ میشود و سپس برنامه تمام میشود .
در این برنامه از شکل دهندهی فرآیند setw استفاده شده . عبارت (4)setw بدین معنی است که طول ناحیهی چاپ را برای خروجی بعدی به اندازهی 4 کاراکتر تنظیم کن . به این ترتیب اگر خروجی کمتر از 4 کاراکتر باشد ، فضای خالی به خروجی مربوطه پیوند زده میشود تا طول خروجی به اندازهی 4 کاراکتر شود . نتیجه این است که خروجی نهایی بشکل یک جدول مرتب روی 10 سطر و 10 ستون زیر هم چاپ میشود . شکل دهندههای فرایند در سرفایل
# include < iomanip >
را به ابتدای برنامه بیافزایید . همچنین برنامه باید دارای راهنمای پیشپردازندهی زیر نیز باشد :
# include < iostream >