تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 11

نام تاپيک: برنامه ی مجموع ارقام ( حلقه ها )

  1. #1
    اگه نباشه جاش خالی می مونه mohsen_3's Avatar
    تاريخ عضويت
    Sep 2007
    محل سكونت
    qaZvin
    پست ها
    481

    پيش فرض برنامه ی مجموع ارقام ( حلقه ها )

    فردا باید یه برنامه بنویسم که اگه مثلا وارد کردی 123
    پرینت کنه 6 (1+2+3)
    با حلقه هم باید باشه
    تا چند رقمشم معلوم نیست

  2. #2
    آخر فروم باز 3Dmajid's Avatar
    تاريخ عضويت
    Dec 2007
    محل سكونت
    پشت کامپیوتر
    پست ها
    6,067

    پيش فرض

    یادمه ما هم همچین سوالی داشتیم، اگه تعداد رقم ها از قبل معلوم باشه خیلی خیلی راحته مثل کد زیر :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    که البته شاید خودت هم بلد باشی، اگه تعداد رقم ها هم معلوم نباشه توسط تابع های رشته ای میشه به راحتی این کار رو کرد ولی تو میگی از طریق حلقه ی فور !! یه کم باید روش فکر کرد.
    یادمه یه زمانی نوشتم ولی باید فکر کنم تا یادم بیاد.

  3. #3
    اگه نباشه جاش خالی می مونه mohsen_3's Avatar
    تاريخ عضويت
    Sep 2007
    محل سكونت
    qaZvin
    پست ها
    481

    پيش فرض

    اقا من فکر کردم ولی به نتیجه ای نرسیدم
    جون من یه کاریش کنید
    فردا باید ببرم
    می تونیم اون 10 و 100 رو با حلقه هی کم کنیم ولی یه جا باید ولی باید توی یه متغیر ذخیره کنیم
    Last edited by mohsen_3; 17-02-2009 at 19:47.

  4. #4
    آخر فروم باز 3Dmajid's Avatar
    تاريخ عضويت
    Dec 2007
    محل سكونت
    پشت کامپیوتر
    پست ها
    6,067

    پيش فرض

    مطمئنم که مسئله ی آسونیه ... ولی یادم نمیاد چه جوری بود.

    زنگ میزنم به چند تا از رفیقام اگه بلد بودن بهم بگن، منم واست مینویسم.

  5. #5
    اگه نباشه جاش خالی می مونه mohsen_3's Avatar
    تاريخ عضويت
    Sep 2007
    محل سكونت
    qaZvin
    پست ها
    481

    پيش فرض

    Private Sub Command1_Click()
    Call Maghlob(Text1, v)
    Text2 = v
    End Sub

    Public Function Maghlob(ByVal a, ByRef m)
    While a > 10
    m = m & a Mod 10
    a = a \ 10
    Wend
    m = m & a
    End Function

    اینو پیدا کردم کار می کنه با حلقه ها هم هست ولی برعکس می کنه عددو خیلی پیچیده یکی یکم توضیحش بده
    Last edited by mohsen_3; 17-02-2009 at 20:01.

  6. #6
    آخر فروم باز 3Dmajid's Avatar
    تاريخ عضويت
    Dec 2007
    محل سكونت
    پشت کامپیوتر
    پست ها
    6,067

    پيش فرض

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کسی که این برنامه رو نوشته خودش یه تابع برای بر عکس کردن عدد نوشته و توسط یک کامند اون تابع رو اجرا کرده.

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    بعد اومده عددی رو که کاربر وارد میکنه رو تقسیم بر 10 کرده تا بدین شکل دونه دونه اعدادش رو جدا کنه، بعدش اعداد رو پیش هم به صورت بر عکس (از آخر به اول) مینویسه تا بر عکس بشه.
    ولی این به دردت نمیخوره، چون کاربر محدوده و فقط میتونه عدد 2 رقمی وارد کنه ولی تو میگی که کاربر با هر طولی عددی رو وارد کنه حساب کنه.
    این تقریبا کارش همون کد بالاییه که برات نوشتم با این تفاوت که اومده یگان و دهگان رو بر عکس نوشته تا عدد رو بر عکس کنه.

  7. #7
    آخر فروم باز 3Dmajid's Avatar
    تاريخ عضويت
    Dec 2007
    محل سكونت
    پشت کامپیوتر
    پست ها
    6,067

    پيش فرض

    مشکل حل شد

    چرا زودتر نگفتی که اشکالی نداره با Do while باشه، همین کد رو به شکل زیر روی یه کامند بنویس :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    از این که اون کد رو گذاشتی ممنونم.
    خوب امتحانش کن فکر نکنم مشکلی داشته باشه.

  8. #8
    اگه نباشه جاش خالی می مونه mohsen_3's Avatar
    تاريخ عضويت
    Sep 2007
    محل سكونت
    qaZvin
    پست ها
    481

    پيش فرض

    واقعا دستت درد نکنه مجید جان
    خیر ببینی جون
    یکم توضیش می دی ؟
    که فردا ضایع نشیم
    من چیزی ازش نفهمیدم
    خیلی حال کردم

  9. #9
    آخر فروم باز 3Dmajid's Avatar
    تاريخ عضويت
    Dec 2007
    محل سكونت
    پشت کامپیوتر
    پست ها
    6,067

    پيش فرض

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    [/SIZE]

    توی خط اول همونجور که میدونی اومدیم و یه عدد از کاربر گرفتیم.
    توسط دستور حلقه ی While/Wend اومدیم شرط گذاشتیم. من بهت پیشنهاد میدم که این رو به DoWhile/Loop تغییر بده، چون من خودم هم نمیدونم این حلقه که این به کاربرده چه کاربردی داره، اصلا تو کتابامون نبوده !!! و من وقتی این رو به DoWhile/Loop تغییر دادم دیدم که کد درست کار کرد، و طبیعتا هم باید درست کار میکرد.
    در خط دوم اومدیم شرط a > 10 رو گذاشتیم، یعنی این که تا وقتی حلقه ادامه پیدا کنه و کدهای درون حلقه اجرا بشه که این متغیر یعنی همون عددی که از کاربر گرفته شده از 10 بزرگتر باشه ... در ادامه میفهمی که برای چی این شرط رو گذاشتیم.
    در پایین اومدیم یک متغیر یعنی m رو با a mod 10 جمع کردیم. فرض کن کاربر عدد 123 رو وارد کرده، a mod 10 مساوی با 3 میشه ! یعنی ما توسط این کار اومدیم و یکان عددی رو که کاربر وارد کرده رو گرفتیم و بعد با m جمع کردیم. m یه متغیر کمکی ما هست که برای جمع کردن اعداد از اون استفاده کردیم. پس یادت باشه تا الان a مساوی 3 یعنی یکان 123 و m مساوی با 3 هست.
    توی خط بعدی اومدیم مقدار a رو به a \10 تغییر دادیم، اگه یادت باشه mod برای ما باقی مونده رو حساب میکرد که در مرحله ی اول میشه یکان عدد، ولی علامت \ برای ما خارج قسمت تقسیم رو بر میگردونه. بنابراین حالا مقدار a به 12 تغییر پیدا میکنه.
    حلقه به آخر میرسه و دوباره شرط چک میشه، چون 12 از 10 بزرگتر هست، بنابراین دوباره این روند ادامه پیدا میکنه و طبق دستورات m با باقی مانده ی 12 بر 10 جمع میشه. دوباره یکان 12 رو به دست اوردیم، بنابراین 3 + 2 میشه و میشه 5 ... مقدار m حالا 5 هست. یعنی یکان و دهگان عدد رو با هم جمع کردیم. در خط بعدی میاد خارج قسمت رو بهمون بر میگردونه.
    خارج قسمت 12 تقسیم بر 10 قطعا میشه 1 ... بنابراین به راحتی تونستیم صدگان رو هم به دست بیاریم و آخر سر مقدار m که 5 بود رو با 1 جمع میکنیم و میشه 6 !!!

    فکر کنم متوجه شدی ... اگه نشدی بازم واست توضیح بدم.
    از این که اینقدر توضیح دادم ببخشید، خواستم متوجه کد بشی.

  10. #10
    اگه نباشه جاش خالی می مونه mohsen_3's Avatar
    تاريخ عضويت
    Sep 2007
    محل سكونت
    qaZvin
    پست ها
    481

    پيش فرض

    دستت واقعا درد نکنه
    امشب ما رو واقعا شرمنده کردی
    ولی این حلقه ها هم دنیایی دارن

صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •