تمرین سری چهارم تاریخ تحویل تمرین 1آذر 1392 درس مبانی برنامهسازی CE153 Sharif University of Technology Fall 2013 1 توضیحات اولیه آخرین مهلت تحویل تمرین ،ساعت 23:59دقیقه روز جمعه ،اول آذر ماه می باشد. بعد از اتمام زمان ارسال ،تا 3روز می توانید تمرین های خود را با تاخیر ارسال نمایید .به ازای هر ساعت تاخیر 1%از نمره ی شما کسر می شود. خروجی تمرین ها فقط موارد خواسته شده باشد. در صورت هرگونه مشکل در خصوص تمرین ،سواالت خود را در پیازا مطرح کنید. 2 سوال اول برنامهای بنویسید که در هر مرحله یک عدد را از ورودی دریافت کند و تا زمانی که رقم 0وارد نشده به کار خود ادامه دهد .پس از وارد شدن رقم 0 این برنامه باید اعداد وارد شده را به صورت برعکس ترتیب وارد شدن چاپ نماید. دقت کنید باید یک بار این برنامه را با استفاده از آرایه و یک بار بدون استفاده از آرایه و به وسیله تابع بازگشتی پیادهسازی کنید. ورودی و خروجی: در ورودی در هر خط یک عدد وارد میشود و در خروجی نیز در هر خط یک عدد چاپ میشود. 3 خروجی نمونه ورودی نمونه 3 4 7 4 9 . 9 4 7 4 3 4 سوال دوم بازی minesweeperبه این صورت است که از یک جدول m*nساخته شده است که بعضی از خانههای آن بمب هستند و سایر خانهها تعداد بمبهایی را که در 8خانه مجاور آنها قرار دارد ،نشان میدهند .در این سوال خانههای حاوی بمب به شما داده میشود و از شما میخواهیم مقدار سایر خانههای جدول را چاپ کنید(m , n <100) . ابتدا به ترتیب ( mشماره سطر) و ( nشماره ستون) از ورودی خوانده میشود و سپس یک عدد kکه تعداد بمبهای واقع در جدول را نشان میدهد .در نهایت kزوج عدد که مکان بمبها را نشان میدهند( .در هر زوج ابتدا شماره سطر و سپس ستون مربوطه نمایش داده میشود) در خروجی جدول را کامل نشان دهید به این صورت که به ازای بمبها نماد * را چاپ کنید و سایر خانههای جدول نیز عدد متناظر را چاپ کنید. 5 خروجی نمونه ورودی نمونه 43 5 11 42 13 32 43 **2 211 2*3 **2 6 سوال سوم برای یک آرایه از اعداد بزرگترین عدد nرا پیدا کنید به طوری که حداقل nعضو از آرایه بزرگتر از آن باشند .توجه داشته باشید که آرایه نامرتب است. ورودی خروجی: در خط اول تعداد اعضای آرایه خوانده میشود و سپس به همان اندازه عنصر آرایه از ورودی گرفته میشود .در خروجی عدد nچاپ میشود. 7 خروجی نمونه ورودی نمونه 6 5 10 8 1 7 2 4 8 سوال چهارم برنامه بنویسید که با گرفتن یک ماتریس و سپس گرفتن 2عدد که اولی شماره یک سطر و دومی شماره یک ستون می باشد جای این سطر و سطون را عوض کند یعنی سطر مورد نظر به جای ستون مورد نطر قرار می گیرد و بالعکس. برنامه شما باید به گونه ای باشد که در ابتدا 2عدد میگیرد که به ترتیب تعداد سطره و تعداد ستون های ماتریس است .سپس اعضای ماتریس را می گیرد و در اخر دو عدد می گیرد که به ترتیب سطر مورد نظر و دومی ستون مورد نظر است که قرار است با هم جا بجا شوند .و به عنوان خروجی ماتریس حاصل را چاپ کند. توجه کنید که اگر تعداد اعضای سطر انتخاب شده از تعداد اعضای ستون انتخاب شده کمتر باشد خانه های باقیماند ه را 0قرار دهید .و اگر بیشتر بود خانه های اضافی حذف می شوند .و بالعکس همچنین عدد تالقی سطر و ستون را 0قرار دهید 9 خروجی نمونه ورودی نمونه 44 1234 4567 8912 4321 32 ورودی نمونه 1834 4967 2093 4221 خروجی نمونه 23 123 345 13 350 342 10 سوال امتیازی سه میله داریم و تعدادی حلقه قرمز و آبی :بر روی هر حلقه عددی درج است ، می خواهیم این حلقه ها را طوری درون این سه میله قرار دهیم که :هیچ یک از دو حلقه ای که روی هم قرار می گیرند هم رنگ نباشند ،و از طرفی شماره ی میله ها به ترتیب نزولی (از پایین به باال کم شود) ،برنامه ای بنویسید که با دریافت یک عدد به عنوان تعداد حلقه ها ،همین تعداد حلقه از ورودی دریافت کند (،ورودی داده شده برای هر حلقه عددی است که با ارزش ترین رقم آن 1یا 2است که اگر 1بود یعنی حلقه قرمز و اگر 2بود حلقه آبی است و در ادامه باقی رقم های عدد ، همان عدد درج شده به روی حلقه است) و در خروجی سه حلقه باالیی میله ها را به ترتیب شماره روی آنها از کوچک به بزرگ برگرداند و اگر میله خالی بود مقدار 1را چاپ کند ( .فرض کنید اعداد داده شده در ورودی طوری باشد که درنهایت حلقه ای بدون میله نخواهد ماند) نکته :در صورتی که می توانید عددی را روی دو میله قرار دهید اولویت با میله ای است که عدد حلقه باالیی آن مقدار بیشتری دارد. 11 خروجی نمونه ورودی نمونه 6 10 25 21 11 13 20 0 0 1 12
© Copyright 2026 Paperzz