حل تمرین شماره 2 برنامه نویسی به زبان c
مسئله:برنامه ای بنویسید که خروجی زیر را چاپ کند:
*
**
***
****
*****
******
حل مسئله:
#include <stdio.h>
#include <conio.h>
int main()
{
for(int i=1;i<=6;i++)
{
for(int j=1;j<=i;j++)
printf("*");
printf("\n");
}
getch();
return 0;
}
مکانیسم:این برنامه دارای دو حلقه for است که یکی مسئول ایجاد سطرهاست و
دیگری مسئول چاپ علامت "*" به تعداد لازم در هر سطری است.به این صورت که اولین for اجرا می شود و به for دوم می رسد،حلقه ی for دوم با
استفاده از i (شمارنده ی حلقه ی اول) می فهمد که سطر چندم (از 6 سطر علامت
"*") است و به تعداد شماره سطر "*" چاپ می کند(به تعداد شماره سطر علامت"*"چاپ می کند،مثلا اگر شماره سطر 4 بود،4 تا "*" چاپ می کند یا حلقه ی چاپ "*" 4 بار عمل می کند.).
توضیحات:
- تابع getch برای این در آخر برنامه قرار دادیم که برنامه بعد از خروج از حلقه های for به return 0 می رسد و خود به خود تمام می شود با وجود این تابع ، برنامه منتظر فشردن کلیدی می ماند و پس از فشردن کلید تمام می شود.
- اینکه در شرط حلقه ی دوم for، شمارنده ی حلقه ی دوم یا همان j را کمتر مساوی i یا همان شمارنده ی حلقه ی اول for قرار دادیم این بود که حلقه ی دوم for هر بار به تعداد شمارنده ی اول for (=شماره سطر) تکرار شود.
مسئله از کتاب "برنامه نویسی به زبان c" - تالیف مهندس جعفر نژاد قمی - صفحه 72 - تمرین 3