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

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




صفحه 1 از 3 123 آخرآخر
نمايش نتايج 1 به 10 از 23

نام تاپيک: اشکال خروجی این برنامه رو برام رفع کنید خواهشا !!

  1. #1
    آخر فروم باز robert's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    تهران
    پست ها
    2,438

    پيش فرض اشکال خروجی این برنامه رو برام رفع کنید خواهشا !!

    سلام به همه دوستان برنامه نویس !!
    آقا در راستای ادامه برنامه نویسی بنده و کار روی مسئله تحلیل مسابقات فوتبال به اونجا رسیدیم که 5 تا تیم از ورودی گرفته میشه و جدول دیدار های بین تیمها چاپ میشه و سپس از کاربر درخواست میشه که تعداد گلی که هر تیم به تیم دیگه میزنه رو حساب کنه و سپس جدول پایان دیدار ها رو به همراه نتایج اون تو خروجی چاپ کنه :
    کدی که نوشتم اینه :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    با وارد کردن 5 تا اسم (( مثلا اسم هر تیم دلخواه شما !!)) بلافاصله جدول دیدار های بین تیمها چاپ میشه و از کاربر خواسته میشه که تعداد گلهایی که هر تیم به تیم دیگه زده رو وارد کنه !!!
    حالا مشکل من اینجاست که :
    اولا هرکاری میکنم نمیتونم با استفاده از دستور شرطی if - else کاری کنم که به محض وارد کردن عدد منفی به عنوان تعداد گلها پیغام خطا ظاهر بشه و از برنامه بیاد بیرون
    ثانیا من میخوام که جدول دومی که بعد از وارد کردن تعداد گلها قراره ظاهر بشه به شکل زیر چاپ بشه (( مثلا برای سه تیم !! البته در خود برنامه 5 تا تیم وجود داره ))

    a1---b2
    a2---c3
    b3----c0

    که مثلا در خط اول عدد یک کنار a معرف تعداد گلهای زده به تیم b است و عدد 2 کنار b نیز تعداد گلهای زده به تیم a

    برنامه بدون هیچ مشکلی کامپایل و اجرا میشه و ارور هم نمیده و جدول دیدار ها رو هم بدرستی چاپ میکنه !! لیکن تو چاپ جدول دوم چرت و پرت تحویل آدم میده و اعصاب منو خورد کرده !!!

    نمیدونم چکارش کنم !! فقط انتظار کمک از شما رو دارم !!!
    ممنون میشم اگه مارو یه راهنمایی بکنید !!
    مرC

  2. #2
    اگه نباشه جاش خالی می مونه sherlockholmz's Avatar
    تاريخ عضويت
    Oct 2007
    محل سكونت
    دنياي قبل از مرگ
    پست ها
    439

    پيش فرض

    با سلام،
    برنامه ات را اجرا كردم.
    اولين اشكالي كه ديده شد تك جهته بودن برنامه ات است.يعني شما اولويت ترتيب پر كردن آرايه داري.به عبارت ساده تر مثلا" تعداد گلهاي a در برابر b,c,d و e را مي گيري اما تعداد گلهاي آنها را در برابر a نه!بهمين ترتيب براي b,cو d
    به همين علت است كه جدول آخر اجق وجق است.
    اين تا اينجا
    تابعد
    موفق باشي

  3. #3
    آخر فروم باز robert's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    تهران
    پست ها
    2,438

    پيش فرض

    با سلام،
    برنامه ات را اجرا كردم.
    اولين اشكالي كه ديده شد تك جهته بودن برنامه ات است.يعني شما اولويت ترتيب پر كردن آرايه داري.به عبارت ساده تر مثلا" تعداد گلهاي a در برابر b,c,d و e را مي گيري اما تعداد گلهاي آنها را در برابر a نه!بهمين ترتيب براي b,cو d
    به همين علت است كه جدول آخر اجق وجق است.
    اين تا اينجا
    تابعد
    موفق باشي
    ممنونم شرلوک هلمز عزیز !!
    اون اشکالی رو که فرمودید رو رفع کردم و برنامه رو به این صورت درآوردم که براحتی کامپایل و اجرا میشه و چرت و پرت هم چاپ نمیکنه !!
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا موندم چجوری به ازای تعداد گلهای زده شده یک تیم به تیم دیگه اسم گلزنها رو وارد کنم !!

  4. #4
    اگه نباشه جاش خالی می مونه sherlockholmz's Avatar
    تاريخ عضويت
    Oct 2007
    محل سكونت
    دنياي قبل از مرگ
    پست ها
    439

    پيش فرض

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

    خوبه با اين برنامه، امتياز همه تيمها مساوي مي شودو ديگر نه دعوايي مي شود ،نه تيمي سرور تيم ديگر است.فردوسي پور هم بيكار مي شود.

    آخه عزيزم شما وقتي تعدادگل را در آرايه resultذخيره مي كني انديس آن كي تغيير مي كند؟
    در حلقه ائي كه به رنگ قرمز نشان داده شده است،حالت اول i=0 مي شود.j از 0 تا 5 تغيير مي كندو تعداد گلهايي راكه تيم اول به چهار تيم ديگر زده است مي پرسدولي چون در اين مدت i ثابت است، اعداد گرفته شده در يكجا ذخيره مي شوندودر نتيجه عدد قبلي از بين ميرود.اين عمل بازاي هر تغيير i صورت مي پذيرد.
    پس نمي تواني گلها را به اين صورت ذخيره كني ويا حداقل انديس را بايد تغيير بدهي
    باقي بقايتان

  5. #5
    آخر فروم باز robert's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    تهران
    پست ها
    2,438

    پيش فرض

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

    خوبه با اين برنامه، امتياز همه تيمها مساوي مي شودو ديگر نه دعوايي مي شود ،نه تيمي سرور تيم ديگر است.فردوسي پور هم بيكار مي شود.

    آخه عزيزم شما وقتي تعدادگل را در آرايه resultذخيره مي كني انديس آن كي تغيير مي كند؟
    در حلقه ائي كه به رنگ قرمز نشان داده شده است،حالت اول i=0 مي شود.j از 0 تا 5 تغيير مي كندو تعداد گلهايي راكه تيم اول به چهار تيم ديگر زده است مي پرسدولي چون در اين مدت i ثابت است، اعداد گرفته شده در يكجا ذخيره مي شوندودر نتيجه عدد قبلي از بين ميرود.اين عمل بازاي هر تغيير i صورت مي پذيرد.
    پس نمي تواني گلها را به اين صورت ذخيره كني ويا حداقل انديس را بايد تغيير بدهي
    باقي بقايتان
    حق با شماست !!
    هر چی بدبختی هست سر همین حلقه های for تو در تو هست !!!
    خوب حالا باید چیکار کرد ؟؟ آرایه دوبعدی استفاده کنم یا اینکه پارامتر های داخل حلقه for رو دستکاری بکنم ؟؟

  6. #6
    آخر فروم باز robert's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    تهران
    پست ها
    2,438

    پيش فرض

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

    خوبه با اين برنامه، امتياز همه تيمها مساوي مي شودو ديگر نه دعوايي مي شود ،نه تيمي سرور تيم ديگر است.فردوسي پور هم بيكار مي شود.

    آخه عزيزم شما وقتي تعدادگل را در آرايه resultذخيره مي كني انديس آن كي تغيير مي كند؟
    در حلقه ائي كه به رنگ قرمز نشان داده شده است،حالت اول i=0 مي شود.j از 0 تا 5 تغيير مي كندو تعداد گلهايي راكه تيم اول به چهار تيم ديگر زده است مي پرسدولي چون در اين مدت i ثابت است، اعداد گرفته شده در يكجا ذخيره مي شوندودر نتيجه عدد قبلي از بين ميرود.اين عمل بازاي هر تغيير i صورت مي پذيرد.
    پس نمي تواني گلها را به اين صورت ذخيره كني ويا حداقل انديس را بايد تغيير بدهي
    باقي بقايتان
    ای داد بیداد !!!!
    حق با شماست !!
    من اصلا نشستم یه بار چک بکنم ببینم همون عددی که به برنامه میدم تو خروجی ظاهر میشه یا نه !!
    اومدم برنامه رو برای گرفتن نام گلزن ها ساده تر بکنم که اینجوری داغونش کردم !!
    خوب شرلوک عزیز
    حالا چیکار کنم ؟؟

  7. #7
    اگه نباشه جاش خالی می مونه sherlockholmz's Avatar
    تاريخ عضويت
    Oct 2007
    محل سكونت
    دنياي قبل از مرگ
    پست ها
    439

    پيش فرض

    سلام،
    "خوب حالا چيكار كنيم؟"
    سوال خوبي است.
    هيچي اينكار مي كنيم:يك آرايه دو بعدي(يا همون ماتريس) تعريف مي كنيم كه متغيرهايش همان i و j خودمان باشدو خانه [i][j] آن،تعداد گل تيمi به تيم j باشد.بهمين راحتي،بهمين خوشمزگي



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



    خطوط قرمز را من اضاف كردم(به سبك غلام پيرواني) و بديهي است كه خطوط مشابه با // حذف شده است.
    يه بررسي بزن تابعد

  8. #8
    آخر فروم باز robert's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    تهران
    پست ها
    2,438

    پيش فرض

    سلام،
    "خوب حالا چيكار كنيم؟"
    سوال خوبي است.
    هيچي اينكار مي كنيم:يك آرايه دو بعدي(يا همون ماتريس) تعريف مي كنيم كه متغيرهايش همان i و j خودمان باشدو خانه [i][j] آن،تعداد گل تيمi به تيم j باشد.بهمين راحتي،بهمين خوشمزگي



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



    خطوط قرمز را من اضاف كردم(به سبك غلام پيرواني) و بديهي است كه خطوط مشابه با // حذف شده است.
    يه بررسي بزن تابعد
    دستت درست شرلوک عزیز !!
    پس مشکل اصلی برنامه همون آرایه تک بعدی بود که با اضاف کردن یک آرایه دوبعدی برای گرفتن نتایج بازی ها همه چیز حل شد !!

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

  9. #9
    آخر فروم باز robert's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    تهران
    پست ها
    2,438

    پيش فرض

    آقا یه سوال !!
    ترتیب پر شدن آرایه goal [5][5 به این صورت هست ؟؟ به فرض اینکه اعداد حروف و اعداد قرمز همون اسم تیمها و تعداد گلها و بقیه همون آرایه ها باشند

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    آخه برای پیدا کردن تعداد برد ها و باخت ها و تساوی ها به این اندیس آرایه ها و شماره اونها احتیاج دارم !! برای همین گفتم قبلش یه اطمینانی حاصل کنیم و بعد برنامه رو ادامه بدیم !!
    ممنون میشم اگه یه توضیحی لطف کنید !!

  10. #10
    اگه نباشه جاش خالی می مونه sherlockholmz's Avatar
    تاريخ عضويت
    Oct 2007
    محل سكونت
    دنياي قبل از مرگ
    پست ها
    439

    پيش فرض

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    همانطور كه مي بيني خانه آرايه هنگامي پر مي شود كه i!=j ، يعني مثلا" [0][0] پر نمي شود.
    پس بصورت زير است:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اين يعني تيم اول (مثلا"A ) دو تا به تيم دوم (مثلا"B ) زده و تيم دوم (B ) سه تا به تيم اول (B) زده است والي آخر...
    حال مثلا" اگر بخواهيم تعداد گل زده تيم A را محاسبه كنيم، كافيست با ثابت نگه داشتن انديس اول روي صفر، انديس دوم را از 0 تا 4 تغيير دهيم:




    Last edited by sherlockholmz; 10-05-2008 at 10:43.

صفحه 1 از 3 123 آخرآخر

Thread Information

Users Browsing this Thread

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

User Tag List

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

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