رسم کردن کوزه با * - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

رسم کردن کوزه با *

+2 امتیاز
می خوام شکل زیر رو با یه حلقه و نوشتن یک بار کاراکتر * توی کدم چاپ کنم.

********

 ******

********

 ******

  ****

 ******

********

 

به ترتیب تعداد ستاره ها:

8 و 6 و 8 و 6 و4 و6 و8

 

// شدنی یه نفر این کار رو کرده ...
سوال شده اردیبهشت 3, 1393  بوسیله ی Amin (امتیاز 453)   10 17 43
دوباره تگ گذاری شد شهریور 5, 1393 بوسیله ی BlueBlade
عدد سوم از چپ 8 نیست ؟

4 پاسخ

+2 امتیاز
 
بهترین پاسخ

#include <iostream>

using namespace std;

int main()
{
bool b=true;;


   for(int i=1;i<=7;i++)
   {
       if (i==5)
       {
           for(int j=1;j<=4;j++)
           {
               cout<<"*";

           }
           cout<<endl;
       }
      if(b==true)
      {
        for(int j=1;j<=8;j++)
        {
            cout<<"*";
            b=false;

        }
        cout<<endl;
      }


        else
        {
            for(int j=1;j<=6;j++)
            {
               cout<<"*";
               b=true;

            }
              cout<<endl;
        }

      }
   }

 

پاسخ داده شده اردیبهشت 8, 1393 بوسیله ی daniyaltjm (امتیاز 840)   47 88 103
انتخاب شد اردیبهشت 10, 1393 بوسیله ی Amin
فقط باید یه جای کدت از کارامتر * استفاده کنی!
تو 3 جا این کار رو کردی!
+3 امتیاز

من این کد رو نوشتم.البته سمت چپ کنسول چاپ میکنه.اگه حتما باید سمت راست باشه اونو دیگه نمیدونم.

for(int i=0;i<46;i++)
	{
		if(i==8 || i== 14 || i==22 || i==28 || i==32 || i==38 )
			cout<<endl;
		cout<<"*";
		
	}
	cout<<endl;

 

پاسخ داده شده اردیبهشت 3, 1393 بوسیله ی maryam (امتیاز 338)   12 33 44
باید متقارن باشه.
+1 امتیاز

این طوری با تابع هم قبوله؟؟ (البته بدون تابع هم با یه تغییرات جزئی میشه نوشت)

#include <iostream>

using namespace std;

void print(int);

int main()
{
    print(4);
    print(3);
    print(4);
    print(3);
    print(2);
    print(3);
    print(4);
    return 0;
}

void print(int n)
{
    int x=4-n;
    for(int i=0; i<x; i++)
        cout<<char(32);
    for(int i=0; i<2*n; i++)
        cout<<'*';
    cout<<endl;
}

 

پاسخ داده شده اردیبهشت 7, 1393 بوسیله ی MaGaroos (امتیاز 658)   11 18 36
چرا از دوتا حلقه استفاده کردی؟

تازه همین هم درست چاپ نمی کنه!!
دو تا حلقه حال میده
باو گیر نده توی for یه if بذاری درست میشه دیگه :د
+
سلامتی؟
واسه من این طوری ران میکنه:
http://myhost.yyo.ir/CodeBlocks.png
چرا برچسب الکی میزنی به ما داداش؟؟
این یه سوالی بوده که معلمون براش شرط بستنی بسته بود.
من هم فقط شبیه ساز معلممون عمل می کنم.
ببینم می تونی بستنی ( تو خیالت ) بگیری یا نه !
تو کیستی ای خیره سر؟
نیما؟
مجید؟
..
..
..
کی هستی؟
+1 امتیاز
int ln = 8,stp=-2,cnt=0;
            for (int i = 0; i < 7; i++)
            {
                for (int j = 0; j < ln; j++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
                ln += stp;
                if (ln == 2)
                {
                    ln = 6;
                    stp = 2;
                }
                else if (ln == 10)
                {
                    ln = 6;
                    stp = -2;
                }
                if (ln == 6)
                {
                    cnt++;
                    if (cnt == 3 && stp == -2)
                    {
                        stp = 2;
                    }
                }

 

 

پاسخ داده شده اردیبهشت 12, 1393 بوسیله ی alixw24 (امتیاز 656)   2 5 13
...