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

نام تاپیک: احتیاج به یک حلقه ی بدون شرط برای تکرار بدنه تا بی نهایت

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1388
    محل زندگی
    island11
    پست
    73

    احتیاج به یک حلقه ی بدون شرط برای تکرار بدنه تا بی نهایت

    سلام دوستان در برنامه ای که پایان ندارد قرار است عددی بخوانیم اگر شرایط برایش صدق کرد در خروجی بنویسد مشکل برنامه اینجاست که مشخص نیست کی به پایان میرسد بنابراین چون این برنامه باید تکرار شود نمی دانم در قسمت شرط حلقه ی while چه چیزی بنویسم تا برنامه در داخل این حلقه تکرار شود
    فرض کنید قرار است برنامه یک متن را بگیرد و جاهای خالی این متن را حذف و بقیه متن را مکررا بنویسد مثلا اگر بخواهیم متن this is a test را در برنامه وارد کنیم خروجی به شکل
    tthhiissiissaatteesstt باشد
    x = getche();
    while(?)
    {
    if ( x !='\t' || x!='\n' || x !=' ')
    printf ("%c",x);
    else
    x=getche();
    x=getche();
    }

    حالا به نظر شما باید به جای ؟ چه چیزی نوشت در ضمن اگر حلقه ای جز while را برای اینکار سراغ دارید بگید و مشکل دیگر اینکه ممکن است داخل متن عدد نیز بیاید در اینصورت باید چه کرد با توجه به
    کد HTML:
    printf ("%c",x)

  2. #2
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    ایران سرای من است
    پست
    2,655

    نقل قول: احتیاج به یک حلقه ی بدون شرط برای تکرار بدنه تا بی نهایت

    خب اگر نمي خواي از حلقه خارج شوي عدد 1 را به جاي ? قرار بده.

  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    ده ونک
    پست
    94

    نقل قول: احتیاج به یک حلقه ی بدون شرط برای تکرار بدنه تا بی نهایت

    میتونی بگی هر موقع طرف esc زد از حلقه بیاد بیرون تو c برای اینکار باید از ()kbhit استفاده کنی.
    موفق باشی

  4. #4
    کاربر دائمی آواتار m.soleimani
    تاریخ عضویت
    دی 1386
    محل زندگی
    اصفهان
    پست
    639

    نقل قول: احتیاج به یک حلقه ی بدون شرط برای تکرار بدنه تا بی نهایت

    نقل قول نوشته شده توسط lidaline مشاهده تاپیک
    سلام دوستان در برنامه ای که پایان ندارد قرار است عددی بخوانیم اگر شرایط برایش صدق کرد در خروجی بنویسد مشکل برنامه اینجاست که مشخص نیست کی به پایان میرسد بنابراین چون این برنامه باید تکرار شود نمی دانم در قسمت شرط حلقه ی while چه چیزی بنویسم تا برنامه در داخل این حلقه تکرار شود
    فرض کنید قرار است برنامه یک متن را بگیرد و جاهای خالی این متن را حذف و بقیه متن را مکررا بنویسد مثلا اگر بخواهیم متن this is a test را در برنامه وارد کنیم خروجی به شکل
    tthhiissiissaatteesstt باشد

    x = getche();



    while(?)
    {
    if ( x !='\t' || x!='\n' || x !=' ')
    printf ("%c",x);
    else
    x=getche();
    x=getche();

    }



    حالا به نظر شما باید به جای ؟ چه چیزی نوشت در ضمن اگر حلقه ای جز while را برای اینکار سراغ دارید بگید و مشکل دیگر اینکه ممکن است داخل متن عدد نیز بیاید در اینصورت باید چه کرد با توجه به
    کد HTML:
    printf ("%c",x)

    عدد مشکلی ایجاد نمی‌کنه البته اگر زیاد بزرگ نباشه چون در واقع خود char هم یه نوع عددی هست ولی به مقدار یک بایت از حافظه را اشغال می‌کنه. در مورد حلقه‌ی بالا به همون صورت که دوستمون گفتن بهتره از مقدار 1 استفاده کنید این یعنی این‌که شرط حلقه همیشه به صورت درست محاسبه می‌شه و یه حلقه‌ی بی‌نهایت تشکیل می‌شه که البته توصیه به استفاده از این گونه حلقه‌ها نمی‌شه و برای خارج شدن از این حلقه باید حتمن تو بدنه حلقه یه شرط برای پایان به کارش در نظر بگیرید, توی قسمت else هم دوبار برای متغیر مقدار گرفتین که البته به هدف خودتون بستگی داره, در مورد حلقه‌های بی‌نهایت دیگه هم می‌شه به (; ; )for و همین while با شرط همیشگی true اشاره کرد موفق باشید.



  5. #5

    نقل قول: احتیاج به یک حلقه ی بدون شرط برای تکرار بدنه تا بی نهایت

    سلام

    واضح نیست ولی اگه میخوای حلقه همیشه اجرا بشه و بی نهایت باشه همونطور که دوستان گفتن باید از 1 برای شرط While استفاده کنی و همچنین در for هم بازم گفتن که به صورت ( ; ; ) باید باشه تا حلق بی نهایت بشه .

    در مورد عدد هم بگم که نه مشکلی پیش نمیاد .

  6. #6
    کاربر تازه وارد آواتار amir_varasteh
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    مشهـــــــد
    سن
    35
    پست
    48

    نقل قول: احتیاج به یک حلقه ی بدون شرط برای تکرار بدنه تا بی نهایت

    همونطور که دوستان گفتن میتونی از while(1) استفاده کنی.
    یعنی تا زمانیکه 1 با صفر برابر نیست تکرار کنه و بنابراین حلقه بی نهایت میشه.

  7. #7

    نقل قول: احتیاج به یک حلقه ی بدون شرط برای تکرار بدنه تا بی نهایت

    سلام
    من این حلقه را ایجاد کردم نمیدونم چرا andش درست کار نمی کنه یعنی وقتی یکی از شرط ها true شد میاد بیرون

    while (!(x == e.X) && !(y == e.Y))
    ممنون.

  8. #8

    نقل قول: احتیاج به یک حلقه ی بدون شرط برای تکرار بدنه تا بی نهایت

    نقل قول نوشته شده توسط فانوس1 مشاهده تاپیک
    سلام
    من این حلقه را ایجاد کردم نمیدونم چرا andش درست کار نمی کنه یعنی وقتی یکی از شرط ها true شد میاد بیرون

    while (!(x == e.X) && !(y == e.Y))
    ممنون.
    تست کردم، درست کار می کنه!

  9. #9

    نقل قول: احتیاج به یک حلقه ی بدون شرط برای تکرار بدنه تا بی نهایت

    نقل قول نوشته شده توسط chikar مشاهده تاپیک
    تست کردم، درست کار می کنه!
    بله ممنون از شما.باید از or استفاده میکردم نه and.

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

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