نمایش نتایج 1 تا 8 از 8

نام تاپیک: چاپ ستاره به صورت لوزی

  1. #1

    چاپ ستاره به صورت لوزی

    سلام
    2 سوال در این برنامه داشتم:
    1- for خط اول و خط سوم چیو مشخص می کنن ؟
    2- دو if در در خط چهار و پنج کارش چیه ؟


    for (int i=0; i<=10; i++)
    {
    for (int j=0 ; j<=10; j++)
    if (i<=5)
    if (j<5-i || j>5+i) cout << " " ;
    else cout << "*" ;
    else
    if (j<i-5 || j>15-i) cout << " " ;
    else cout << "*";
    cout << "\n" ;
    }


    ممنونم

  2. #2
    کاربر دائمی آواتار Ananas
    تاریخ عضویت
    آبان 1390
    محل زندگی
    طول 50 و عرض 34 درجه
    سن
    36
    پست
    894

    نقل قول: چاپ ستاره به صورت لوزی

    سلام.
    ببین الان واضح تر شد یا نه :

    for (int i = 0; i <= 10; i++)
    {
    for (int j = 0; j <= 10; j++)
    {
    if (i <= 5)
    {
    if (j < 5 - i || j > 5 + i)
    {
    cout << " ";
    }
    else
    {
    cout << "*";
    }
    }
    else
    {
    if (j < i - 5 || j > 15 - i)
    {
    cout << " ";
    }
    else
    {
    cout << "*";
    }
    }
    cout << "\n";
    }
    }

    چند تا پرانتز اضافه شد و تو رفتگی ها مرتب شد.

  3. #3

    نقل قول: چاپ ستاره به صورت لوزی

    ممنونم ولی خروجی نامرتب شد .

  4. #4
    کاربر دائمی آواتار shahmohammadi
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    کلیبر
    پست
    475

    نقل قول: چاپ ستاره به صورت لوزی

    سلام.
    شكل رو يك مربع 10 در 10 كشيده به اين صورت كه در بعضي از خونه ها فاصله و در بعضي از خونه ها ستاره كشيده.
    در هر صطر اول تعدادي فاصله بعد ستاره بعد تعدادي فاصله رسم مي شود.
    for خط اول:
    براي هز سطر از شكل اجرا مي شه.
    for خط سوم:
    در محل كاراكتر jام از سطر ‌i ام كاراكتر رو رسم مي كنه.(بستگي به شرط هاي داخلش)
    شرط اول:
    برنامه رو به دو قسمت مثلث بالا و مثلث پايين تقسيم مي كنه.
    مثلث بالا:
    شرط:
    j<5-i: آيا در موقعيت اول در سطر هستيم(موقعيتي كه اول بايد ستاره كشيده شود).
    j<=10: آيا در موقعيت سوم در سطر هستيم(موقعيتي كه فاصله هاي اول و ستاره كشيده شده و فاصله هاي دوم بايد كشيده شوند).
    مثلث بالا:
    شرط:
    j<i-5: آيا در موقعيت اول در سطر هستيم(موقعيتي كه اول بايد ستاره كشيده شود).
    j>15-i: آيا در موقعيت سوم در سطر هستيم(موقعيتي كه فاصله هاي اول و ستاره كشيده شده و فاصله هاي دوم بايد كشيده شوند).
    با كمي تفكر و تامل مي شه هر كدوم از فرمول هاي ذكر شده رو درك كرد كه الان وقت شو ندارم.
    موفق باشيد.

  5. #5
    کاربر دائمی آواتار Ananas
    تاریخ عضویت
    آبان 1390
    محل زندگی
    طول 50 و عرض 34 درجه
    سن
    36
    پست
    894

    نقل قول: چاپ ستاره به صورت لوزی

    ممنونم ولی خروجی نامرتب شد .
    ببخشید، الان درست شد: (خط آخر باید میرفت بیرون از حلقه ی اول)

    for (int i = 0; i <= 10; i++)
    {
    for (int j = 0; j <= 10; j++)
    {
    if (i <= 5)
    {
    if (j < 5 - i || j > 5 + i)
    {
    cout << " ";
    }
    else
    {
    cout << "*";
    }
    }
    else
    {
    if (j < i - 5 || j > 15 - i)
    {
    cout << " ";
    }
    else
    {
    cout << "*";
    }
    }
    }
    cout << "\n";
    }

  6. #6

    نقل قول: چاپ ستاره به صورت لوزی

    با سلام این کد رو اجرا کنید عدد مورد نظر رو وارد کنید و اینتر بزنید واستون با ستاره لوزی درست میکنه.
    # include <stdio.h>
    # include <conio.h>
    void main(void) {
    int n,i,space;
    clrscr();
    printf("Enter the number: ");
    scanf("%d",&i);
    n=(i-1)/2;
    while(n>0) {
    printf("\n");
    for(space=0;space<n;space++)
    printf(" ");
    for(space=0;space<i-n*2;space++)
    printf("*");
    n--;
    }
    printf("\n");
    for(space=0;space<i;space++)
    printf("*");
    n=i-2;
    while(n>0) {
    printf("\n");
    for(space=0;space<(i-n)/2;space++)
    printf(" ");
    for(space=0;space<n;space++)
    printf("*");
    n=n-2;
    }
    getch();
    }


  7. #7

    Exclamation نقل قول: چاپ ستاره به صورت لوزی

    نقل قول نوشته شده توسط smemamian مشاهده تاپیک
    سلام
    2 سوال در این برنامه داشتم:
    1- for خط اول و خط سوم چیو مشخص می کنن ؟
    2- دو if در در خط چهار و پنج کارش چیه ؟


    for (int i=0; i<=10; i++)
    {
    for (int j=0 ; j<=10; j++)
    if (i<=5)
    if (j<5-i || j>5+i) cout << " " ;
    else cout << "*" ;
    else
    if (j<i-5 || j>15-i) cout << " " ;
    else cout << "*";
    cout << "\n" ;
    }


    ممنونم
    سلام ببخشید چطوری این برنامه رو بنویسیم که ستاره های وسط لوزی نمایش داده نشه و به صورت عمومی عددی رو دریافت کنه و براساس اون عدد شکل لوزی تغییر کنه؟
    فوریه لطفا اگ میشه بهم کمک کنید

  8. #8

    نقل قول: چاپ ستاره به صورت لوزی

    نقل قول نوشته شده توسط mahdi.rezaya مشاهده تاپیک
    با سلام این کد رو اجرا کنید عدد مورد نظر رو وارد کنید و اینتر بزنید واستون با ستاره لوزی درست میکنه.
    # include <stdio.h>
    # include <conio.h>
    void main(void) {
    int n,i,space;
    clrscr();
    printf("Enter the number: ");
    scanf("%d",&i);
    n=(i-1)/2;
    while(n>0) {
    printf("\n");
    for(space=0;space<n;space++)
    printf(" ");
    for(space=0;space<i-n*2;space++)
    printf("*");
    n--;
    }
    printf("\n");
    for(space=0;space<i;space++)
    printf("*");
    n=i-2;
    while(n>0) {
    printf("\n");
    for(space=0;space<(i-n)/2;space++)
    printf(" ");
    for(space=0;space<n;space++)
    printf("*");
    n=n-2;
    }
    getch();
    }

    سلام برای رسم لوزی با قطر 2n+1 درزبان cچیکارباید کرد

تاپیک های مشابه

  1. چاپ کاراکترها به صورت ستاره
    نوشته شده توسط ezamnejad در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 4
    آخرین پست: جمعه 26 تیر 1388, 02:01 صبح
  2. چاپ لیبل به صورت عمودی در FastReport
    نوشته شده توسط nasr در بخش ابزارهای گزارش سازی در دلفی
    پاسخ: 3
    آخرین پست: سه شنبه 01 آبان 1386, 19:04 عصر
  3. چاپ گزارش به صورت رول
    نوشته شده توسط m_shadow در بخش برنامه نویسی در 6 VB
    پاسخ: 8
    آخرین پست: جمعه 20 بهمن 1385, 13:00 عصر
  4. چاپ متن به صورت justify, فوری
    نوشته شده توسط parvin65 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 2
    آخرین پست: یک شنبه 24 اردیبهشت 1385, 20:16 عصر
  5. مشکل چاپ گزارش به صورت landscape
    نوشته شده توسط reham در بخش گزارش سازی با Crystal Report
    پاسخ: 3
    آخرین پست: پنج شنبه 12 آبان 1384, 22:25 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •