HW5_Revised1.pdf

‫تمرین سری پنجم‬
‫تاریخ تحویل تمرین ‪ 15‬آذر ‪1392‬‬
‫درس مبانی برنامهسازی‬
‫‪CE153‬‬
‫‪Sharif University of Technology‬‬
‫‪Fall 2013‬‬
‫‪1‬‬
‫توضیحات اولیه‬
‫‪ ‬آخرین مهلت تحویل تمرین‪ ،‬ساعت ‪ 23:59‬دقیقه روز جمعه‪ ،‬پانزدهم آذر ماه‬
‫می باشد‪.‬‬
‫‪ ‬بعد از اتمام زمان ارسال‪ ،‬تا ‪ 3‬روز می توانید تمرین های خود را با تاخیر ارسال‬
‫نمایید‪ .‬به ازای هر ساعت تاخیر ‪ 1%‬از نمره ی شما کسر می شود‪.‬‬
‫‪ ‬خروجی تمرین ها فقط موارد خواسته شده باشد‪.‬‬
‫‪2‬‬
‫سوال‪1‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫نابجایی ِ یک عضو از یک آرایه را اینگونه تعریف می کنیم ‪ :‬تعداد اعضای‬
‫بزرگتر از آن عضو که قبل از آن عضو در آرایه قرار گرفته اند‪ .‬نابجایی ِ یک‬
‫آرایه مجموع نابجایی ِ اعضای آن است‪.‬‬
‫برنامه ای بنویسید که در خط اول تعداد اعضای آرایه ( کمتر از ‪ ) 10000‬را‬
‫بگیرد و در خط بعد اعضای آرایه را‪ .‬سپس در خط سوم یک عدد از ورودی‬
‫خوانده و در خط بعد به آن تعداد عدد بگیرد‪ .‬تعداد این اعداد کمتراز‬
‫‪ 10000‬است‪.‬‬
‫در خط اول خروجی‪ ،‬تعداد اعدادی که در خط چهارم وارده شده اند و در‬
‫آرایه وجود دارند چاپ می شود (اعداد ِ تکراری یک بار شمرده می شوند)‬
‫و در خط دوم‪ ،‬مجموع نابجایی ِ این اعداد‪.‬‬
‫در خط سوم آرایه نابجایی ِ آرایه چاپ می شود‪.‬‬
‫‪3‬‬
‫سوال‪1‬‬
‫‪ ‬ورودی و خروجی نمونه‬
‫ورودی نمونه‬
‫خروجی نمونه‬
‫‪5‬‬
‫‪13425‬‬
‫‪3‬‬
‫‪227‬‬
‫‪1‬‬
‫‪2‬‬
‫‪2‬‬
‫‪4‬‬
‫سوال‪2‬‬
‫‪ ‬در ورودی یک آرایه ی از ‪n‬عدد وجود دارد‪ .‬هدف یافتن تعداد تکرارهای‬
‫عدد ‪xi‬در این آرایه است‪.‬‬
‫‪ ‬ورودی‪:‬‬
‫‪ ‬در خط اول عدد ‪n‬آمده است و در خط بعدی ‪n‬عدد آرایه قرار دارد‪ .‬سپس‬
‫عدد ‪m‬قرار دارد و در ‪m‬خط ‪xi‬ها آمده اند‪.‬‬
‫‪ ‬خروجی‪:‬‬
‫‪m ‬عدد در خروجی چاپ کنید که عدد ‪i‬م تکرار های ‪xi‬باشد‪.‬‬
‫‪5‬‬
‫‪ ‬ورودی و خروجی نمونه‬
‫سوال‪2‬‬
‫ورودی نمونه‬
‫خروجی نمونه‬
‫‪10‬‬
‫‪1221111521‬‬
‫‪4‬‬
‫‪2 153‬‬
‫‪3‬‬
‫‪6‬‬
‫‪1‬‬
‫‪0‬‬
‫‪ ‬محدودیت های ورودی‪:‬‬
‫‪n < 100000‬‬
‫‪m < 100000‬‬
‫‪0 < xi < 108‬‬
‫‪ ‬محدودیت های مسأله‪:‬‬
‫‪ ‬استفاده از توابعی نظیر ‪lower_bound‬و ‪upper_bound‬مجاز نیست‪.‬‬
‫‪6‬‬
‫سوال‪3‬‬
‫‪ ‬برنامه ای بنویسید که ‪ n‬زوج مرتب ‪ xi‬و ‪ yi‬دریافت کند‪ ،‬سپس این نقطهها را به‬
‫ترتیب تقدّمشان چاپ کند‪ .‬یک نقطه از نقطهی دیگر مقدّمتر است‪ ،‬اگر ‪x‬اش‬
‫کوچکتر از نقطه ی دیگر باشد‪ .‬در صورتی که ‪x‬ها برابر بود‪ y ،‬اش کوچکتر باشد‪.‬‬
‫‪ ‬محدودیت ها‪:‬‬
‫‪10000≤n≤1‬‬
‫حافظهی ‪1‬مگابایت و زمان اجرای ‪ 1‬ثانیه‬
‫‪ ‬ورودی و خروجی‬
‫در ورودی تنها یک عدد ‪ n‬آمده‪.‬‬
‫سپس در ‪ n‬خط‪ ،‬در هر خط ‪ x‬و ‪ y‬نقاط را دریافت کنید‪ .‬هیچ نقطهای تکراری‬
‫نیست‪.‬‬
‫در خروجی ‪ n‬عدد شامل ترتیب مرتّب شده چاپ کنید که با فاصله از هم جدا‬
‫شده اند‪.‬‬
‫‪7‬‬
‫سوال‪3‬‬
‫‪ ‬ورودی نمونه‬
‫خروجی نمونه‬
‫ورودی نمونه‬
‫‪5‬‬
‫‪15‬‬
‫‪23‬‬
‫‪53‬‬
‫‪13‬‬
‫‪26‬‬
‫‪41253‬‬
‫‪8‬‬
‫سوال‪4‬‬
‫‪ ‬امین برای جلب توجه مانا‪ ،‬هر جمله ای که او می گوید را کلماتش را سر و‬
‫ته تکرار می کند ‪ ‬برنامه ای بنویسید که به امین کمک کند که کلمات‬
‫داخل رشته(که با فاصله از هم جدا شده اند) را معکوس چاپ کند‬
‫توجه کنید که ترتیب کلمات ثابت می ماند و عالیم نگارشی (مانند ‪ .‬؟ !) نیز‬
‫تغییری نمی کنند‬
‫‪9‬‬
‫سوال‪4‬‬
‫‪ ‬ورودی و خروجی نمونه‬
‫ورودی نمونه‬
‫خروجی نمونه‬
‫!‪this is c‬‬
‫!‪siht si c‬‬
‫‪10‬‬
‫سوال‪( 5‬امتیازی)‬
‫‪ ‬امین ِ این سوال تصمیم میگیرد رفتاری مشابه امین ِسوال ِ قبل داشته باشد! او‬
‫هر جمله ای که مینا می گوید را تکرار می کند! فقط یک سری از چیزها را از‬
‫درون ِ آن حذف می کند‪ .‬برنامهای بنویسید که دو رشته را بخواند و رشته اول‬
‫را به وسیله جدا کننده رشته ی دوم چاپ کند‬
‫‪ ‬توجه کنید که رشتههای اول و دوم در بین کلماتشان فاصله ندارند و دو رشته‬
‫با فاصله در ورودی از هم جدا میشوند‬
‫‪11‬‬
)‫ (امتیازی‬5‫سوال‬
‫ ورودی و خروجی نمونه‬
‫ورودی نمونه‬
‫خروجی نمونه‬
ThisIsCProgrammingLanguage a
ThisIsCProgr mmingL ngu ge
ThisIsCProgrammingLanguage am ThisIsCProgr mingLanguage
12