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

نام تاپیک: معمای ساده کامپیوتری

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1385
    محل زندگی
    بندر امام خمینی (ره)
    پست
    99

    Tick معمای ساده کامپیوتری

    بازم سلام. کماکان منتظر لطف جناب ادمین هستیم تا شاید حداقل یه زیرمجموعه درست کنه توی همین تاپیک تا ما فعالیتمون رو منسجمتر دنبال کنیم و معماها پخش و پلا نشن تو طول تاپیک. در ضمن یه مطلبو همین جا مشخص کنم که من اصلا این کارها رو برای گرفتن نمره از استاد نمیکنم. من دانشجوی سال سوم نرم افزارم و احتمالا همه میدونن نمره بابت حل مساله های اینچنینی تو دانشگاه نمیدن. نصف این مساله ها رو خودم هم بلد نیستم و از جوابهای شما میفهمم. این معماها فقط برای اینکه یخورده مغزمون رو به کار بندازیم و چیزهای جدید یاد بگیریم طرح میشن.

    معمای امشب یخورده تخصصیه. با زیان سی نوشته شده و یه قطعه کد ساده است. برنامه زیر رو جوری تغییر بدین که 20 تا کاراکترِ دَش(-) چاپ کنه. اما فقط میتونین تغییر توش بدین . یه کاراکتر ازش کم کنین یا یکی بهش اضافه کنین یا یه کاراکترش رو عوض کنین.


    ;int i,n=20


    (--for(i=0;i<n;i

    ;("-")printf
    آخرین ویرایش به وسیله mohammadkhan : جمعه 02 آذر 1386 در 16:58 عصر دلیل: بازم حواس پرتی

  2. #2
    کدت را درست کن تا بشود خواند.
    اگر Net. نمی دانید وارد نشوید.

  3. #3
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    39
    پست
    1,491
    دقیقا متوجه نشدم، فقط یک کاراکتر یا میشه دو کاراکتر رو هم تغییر داد؟! اگر بشه، خب -- رو به ++ تغییر میدیم تا درست بشه.

  4. #4
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1385
    محل زندگی
    بندر امام خمینی (ره)
    پست
    99
    شرمنده
    نمیدونم چرا کدها این شکلی در اومدن؟؟؟
    جواب نبود؟؟؟

  5. #5
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1385
    محل زندگی
    بندر امام خمینی (ره)
    پست
    99
    جناب PC2st.ir عزیز. فقط باید یک کارکاتر رو دستکاری کنید
    یا حذف یا اضافه و یا تغییر
    در ضمن گفته شده که این مساله چند تا راه حل داره

  6. #6
    کاربر تازه وارد آواتار daneshjo IT
    تاریخ عضویت
    خرداد 1386
    محل زندگی
    تهران
    پست
    55

    int i,n=20;
    for(i=n;i>0;i--);
    printf("-");

    البته من صورت سوالتون رو دقیق متوجه نشدم!!
    اگر امکان داره واضح تر بیان کنید!!

  7. #7
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1385
    محل زندگی
    بندر امام خمینی (ره)
    پست
    99
    سوال خیلی واضحه.
    قطعه کد بالا رو تنها با تغییر دادن یک کاراکتر کاری کنید که برنامه به نحو احسن اجرا بشه
    فقط یک کاراکتر. یعنی یا کم کردن کاراکتر یا اضافه کردن یک کاراکتر یا پاک کردن یک کاراکتر

  8. #8
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    39
    پست
    1,491
    یکی از راهها (جواب) مثل زیر میشه:

    int i, n = 20;
    for(i = 0; i < n; n--)
    {
    printf("-");
    }


    قسمت تغییر یافته رو پر رنگ کردم، سوال جالبی بود :-)
    آخرین ویرایش به وسیله PC2st : جمعه 02 آذر 1386 در 18:47 عصر دلیل: ویرایش شد!

  9. #9
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1385
    محل زندگی
    بندر امام خمینی (ره)
    پست
    99
    جناب daneshjo IT کد رو اشتباه نوشتین
    کد درست همونیه که من نوشتم
    جواب PC2st.ir هم کاملا درست بود. ولی این فقط یه حالت بود
    یه حالت دیگه هم داره
    یعنی چند حالت دیگه
    خوشحال میشم ادامه بدین ببینم بقیه راهها رو هم پیدا میکنین؟

  10. #10
    کاربر جدید آواتار sajjad951
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    بابلسر
    پست
    10
    سلام مطمئن هستید کد درسته؟ فکر کنم 21 ی چاپ کنه

  11. #11
    اینم رو قبلیها
    int i, n = 20;
    for(i = 0; -i < n; i--)
    {
    printf("-");
    }
    int i, n = 20;
    for(i = 0; i + n; i--)
    {
    printf("-");
    }

  12. #12
    کاربر تازه وارد آواتار daneshjo IT
    تاریخ عضویت
    خرداد 1386
    محل زندگی
    تهران
    پست
    55
    شرط حلقه که اصلا برقرار نیست(40<20 )پس هیچ وقت وارد حلقه نمی شود.
    منظورم کد مربوط به whitehat است.

  13. #13
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1385
    محل زندگی
    بندر امام خمینی (ره)
    پست
    99
    نه
    دقیقا 20 بار تکرار میشه
    شرط حلقه کوچکتر است نه کوچکتر مساوی

  14. #14
    مدیر بخش آواتار whitehat
    تاریخ عضویت
    مهر 1382
    محل زندگی
    شیراز
    پست
    2,175
    @Exception:
    دوست عزیز کد اول حلقه نامتناهی داره ،اما کد دوم راه حل جالبیه :)
    To follow the path:
    Look to the master
    Follow the master
    Walk with the master
    See through the master
    Become the master

  15. #15
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1385
    محل زندگی
    بندر امام خمینی (ره)
    پست
    99
    کد جناب whitehat اشتباست ولی کلک جالبی بود

    کد جناب Exception بسیار حرفه ای و قشنگ بود اما متاسفانه کد دوم رو اشتباه نوشتن چون برنامه نمیتونه یکی متغیر از نوع int رو به bool تبدیل کنه و i+n اشتباس. برنامه شما در قسمت دوم حلقه هیچ شرطی نداره ؟؟؟؟!!!!!

  16. #16
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1385
    محل زندگی
    بندر امام خمینی (ره)
    پست
    99
    و یه درخواست. من از جناب Exception خواهش میکنم منطق کد اولشون رو توضیح بدن
    چون اصلا این راه به ذهن من نرسید و الان هم که میبینم کد رو اصلا قانع نمیشم با اینکه توی برنامه کار داد و 20 کاراکتر چاپ کرد؟

  17. #17
    مدیر بخش آواتار whitehat
    تاریخ عضویت
    مهر 1382
    محل زندگی
    شیراز
    پست
    2,175
    کد جناب Exception بسیار حرفه ای و قشنگ بود اما متاسفانه کد دوم رو اشتباه نوشتن چون برنامه نمیتونه یکی متغیر از نوع int رو به bool تبدیل کنه و i+n اشتباس. برنامه شما در قسمت دوم حلقه هیچ شرطی نداره ؟؟؟؟!!!!!
    کد کاملا درسته ،در ++C متغیر بولی نداریم هر عدد مثبت غیر صفر برابر True و عدد صفر برابر False است:)
    To follow the path:
    Look to the master
    Follow the master
    Walk with the master
    See through the master
    Become the master

  18. #18
    نقل قول نوشته شده توسط whitehat مشاهده تاپیک
    @Exception:
    دوست عزیز کد اول حلقه نامتناهی داره ،اما کد دوم راه حل جالبیه :)
    نه، کد اول هم درسته. چون i از 0 تا -19 کاهش پیدا میکنه. و در نتیجه -i از 0 تا 19 افزایش پیدا میکنه. وقتی i شد -20 -i میشه 20 و شرط حلقه رد میشه و تمام.

  19. #19
    خواستم توضیح بدم کدها رو که دیدم دوستان زحمت هردوشو کشیدن:

    کد اول:
    نقل قول نوشته شده توسط FatBabe مشاهده تاپیک
    چون i از 0 تا -19 کاهش پیدا میکنه. و در نتیجه -i از 0 تا 19 افزایش پیدا میکنه. وقتی i شد -20 -i میشه 20 و شرط حلقه رد میشه و تمام.

    کد دوم:
    نقل قول نوشته شده توسط whitehat مشاهده تاپیک
    در ++C متغیر بولی نداریم هر عدد مثبت غیر صفر برابر True و عدد صفر برابر False است:)

  20. #20
    قشنگ بود مخصوصا کد Exception

  21. #21
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    39
    پست
    1,491
    نقل قول نوشته شده توسط sajjad951
    سلام مطمئن هستید کد درسته؟ فکر کنم 21 ی چاپ کنه
    آره چون هروقت n برابر 0 بشه از حلقه بیرون میاد (n از خود 20 شروع میشه تا 1 ، که روی هم رفته میشه 20 بار).

  22. #22
    کاربر دائمی آواتار golbafan
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    در قلب دوستان
    پست
    2,018

    نقل قول: معمای ساده کامپیوتری

    (--for(i=20;i<n;i

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

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