حل تمرین شماره 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 بار عمل می کند.).

     توضیحات:

  1. تابع getch برای این در آخر برنامه قرار دادیم که برنامه بعد از خروج از حلقه های for به return 0 می رسد و خود به خود تمام می شود با وجود این تابع ، برنامه منتظر فشردن کلیدی می ماند و پس از فشردن کلید تمام می شود.
  2. اینکه در شرط حلقه ی دوم for، شمارنده ی حلقه ی دوم یا همان j را کمتر مساوی i یا همان شمارنده ی حلقه ی اول for قرار دادیم این بود که حلقه ی دوم for هر بار به تعداد شمارنده ی اول for (=شماره سطر) تکرار شود.

     مسئله از کتاب "برنامه نویسی به زبان c" - تالیف مهندس جعفر نژاد قمی - صفحه 72 - تمرین 3


نظرات  (۱)

اگه میشه کمکم کنید برنامه ای میخوام که با c++ خروجی زیر را چاپ کند در ضمن فقط هم از for استفاده شده باشه

                                               1
                                             121
                                           12321
                                         1234321
                                       123454321
                                         1234321
                                           12321
                                             121
                                               1