بسمه تعالی ساختمان داده و الگوریتم نیمسال دوم ۹۴-۹۳ دکتر بیگی دانشکده مهندسی کامپیوتر مهلت ارسال 7 :اردیبهشت ۹۴ تمرین کامپیوتری دوم نکات مهم لطفاً به نکات زیر توجه فرمایید: • مهلت انجام این تمرین تا 7اردیبهشت ۹۴ا ست. • عالوه بر برنامههایی که نوشتهاید شما باید در یک سند متنی توضیحی برای راه حل خود برای هر مسئله ارائه کنید و در آن ثابت کنید که راه حل شما به گونهای عمل میکند که خروجی مورد نیاز مسئله حاصل میشود .این سند متنی را در مهلت حل سوال به آدرس [email protected]بفرستید .عنوان نامه شما باید به صورت CA2_LastName_StudentNumberباشد. • شما باید برنامه های خود را که به زبان C++نوشته شده است را در سامانه قاضی برنامه درس ساختمان داده و الگوریتم شریف که در آدرس زیر قرار دارد وارد کنید و برنامه شما باید بتواند تمام آزمونهای تعیین شده را بگذراند . در غیر این صورت نمره کامل را دریافت نخواهید کرد. آدرس سامانه قاضی برنامه: http://judge.ce.sharif.ir/93-94-2/ce254-3/ • در مجموع برای تمام تمرینهای عملی درس 11روز زمان تاخیر وجود دارد که میتوانید در تمرینها از این فرصت اضافی نیز استفاده کنید و در صورت تاخیر بیشتر با تناسب به میزان آن از کل تمرینات به میزان خاصی نمره کم خواهد شد )مثال به ازای هر روز ٪۵از کل نمره بخش تمرینات عملی کم میشود( • در صورت وجود ابهام در سواالت آن را با خانم مریم ربیعی در میان بگذارید. 1 بسمه تعالی ساختمان داده و الگوریتم نیمسال دوم ۹۴-۹۳ دکتر بیگی دانشکده مهندسی کامپیوتر مهلت ارسال 7 :اردیبهشت ۹۴ تمرین کامپیوتری دوم مسئله :1بادکنک ترکانی یک مجموعه از nبادکنک داریم .میخواهیم با کمترین تعداد تیر ممکن که همگی از مبدا پرتاب میشوند ،این بادکنکها را بترکانیم .هر تیری که رها میشود در زاویه پرتاب شده به صورت مستقیم حرکت میکند و قدرت کافی برای ترکاندن تمامی بادکنکهای مسیر را دارد. بادکنکها نیز همگی به شکل دایره هستند و از هر بادکنک مختصات مرکز آن و شعاع را در دست داریم. تیرها فقط در جهت مثبت محور xرها میشوند .اگر دو بادکنک مماس بر یکدیگر باشند ،تیر پرتابی به مماس آنها هردوی بادکنک ها را میترکاند. برنامهای بنویسید که با گرفتن تعداد بادکنکها در سطر اول و سپس مختصات مرکز و شعاع ،تعداد تیرهای الزم را چاپ کند. محدودیت ها: 1 < n < 10^7 ورودی: در خط اول nتعداد بادکنک ها و در nخط بعدی مختصات مرکز و شعاع بادکنکها خروجی: تعداد تیرهای الزم برا ترکاندن بادکنکها نمونه ورودی: 5 2 2 1.5 331 1 9 1.2 4 -2 2 3 -5 3 2 بسمه تعالی ساختمان داده و الگوریتم نیمسال دوم ۹۴-۹۳ دکتر بیگی دانشکده مهندسی کامپیوتر مهلت ارسال 7 :اردیبهشت ۹۴ تمرین کامپیوتری دوم نمونه خروجی 34 3 بسمه تعالی ساختمان داده و الگوریتم نیمسال دوم ۹۴-۹۳ دکتر بیگی دانشکده مهندسی کامپیوتر مهلت ارسال 7 :اردیبهشت ۹۴ تمرین کامپیوتری دوم مسئله :مرتبسازی قسمت اول: یک لیست از nعدد نامرتب داریم ،میخواهیم عنصری که در این لیست بیش از نصف طول لیست تکرار شده است را از روشی مشابه qui cksor tدر صورت وجود بیابیم .شما باید برنامه ای بنویسید که که این لیست اعداد را بگیرد و در خروجی اگر چنین عنصری وجود داشت آن را چاپ کند و در غیر اینصورت Noneچاپ شود. ورودی: در سطر اول تعداد اعداد و در سطر بعد لیست اعداد ورودی محدودیت ها: 1 < n < 10^7 نمونه ورودی: 13 17 89 3 3 0 4 3 3 90 3 3 32 3 10 2 5 67 5 5 91 13 5 10 91 نمونه خروجی: 3 None 4 بسمه تعالی ساختمان داده و الگوریتم نیمسال دوم ۹۴-۹۳ دکتر بیگی دانشکده مهندسی کامپیوتر مهلت ارسال 7 :اردیبهشت ۹۴ تمرین کامپیوتری دوم قسمت دوم: برنامه ای بنویسید که nعدد را از ورودی دریافت کرده و به شیوه مرتبسازی سطلی با تقسیم بندی در kسطل آنها را مرتب نماید و محتویات سطلها را نمایش دهد .اعداد صحیح هستند و kبه صورت ورودی برنامه داده میشود. اندازه سطلها را بر اساس گستره اعداد ورودی و تعداد سطلها باید بدست آورید. ورودی: در خط اول ،nتعداد اعداد و در خط بعد تعداد سطلها و در خط بعد لیست اعداد که در بازه اعداد uni f or mتوزیع شدهاند ،میآیند. ﺷﺮﻭوﻉع ﺑﺎﺯزﻩهﻫﮬﮪھﺎ ﺭرﺍا ﺍاﺯز ﺻﻔﺮ ﻓﺮﺽض ﮐﻨﻴﯿﺪ. خروجی: محتویات سطلها در سطر اول به این صورت که محتویات سطلهای پر را با ” |“جدا شوند چاپ کنید و لیست مرتب شده را در خط بعد نمایش دهید .بین هر عدد با عدد بعدی یا ” |“یک فاصله وجود دارد. نمونه ورودی: 20 10 25 44 13 34 27 11 4 9 45 33 27 28 42 6 49 31 37 23 14 41 نمونه خروجی 4 | 9 6 | 13 11 14 | 23 | 25 27 27 28 | 34 33 31 | 37 | 44 42 41 | 45 49 4 6 9 11 13 14 23 25 27 27 28 31 33 34 37 41 42 44 45 49 5
© Copyright 2024 Paperzz