HW3.pdf

‫ﻣﺒﺎﻧ ﺑﺮﻧﺎﻣﻪﺳﺎزی ‪C‬‬
‫ﻧﯿﻢﺳﺎل اول ‪٩٣-٩٢‬‬
‫داﻧﺸ ﺪهی ﻣﻬﻨﺪﺳ ﮐﺎﻣﭙﯿﻮﺗﺮ‬
‫ﻣﺪرس‪ :‬اﻣﯿﺪ ﺟﻌﻔﺮی ﻧﮋاد‬
‫ﺗﻤﺮﯾﻦ ﺳﻮم‬
‫ﻣﻬﻠﺖ ارﺳﺎل‪ ١٣ :‬آذر ﻣﺎه‬
‫ﻣﻼﺣﻈﺎت‬
‫ﺑﻪ ﻣﻮارد زﯾﺮ ﺗﻮﺟﻪ ﮐﻨﯿﺪ‪:‬‬
‫‪ .١‬ﺣﺘﻤﺎ در ارﺳﺎل ﻓﺎﯾﻞ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﻧﺎم ﻓﺎﯾﻞ و ﻓﺮﻣﺖ ورودی و ﺧﺮوﺟ ﻫﺎ ﺗﻮﺟﻪ ﺷﻮد‪ .‬ﻫﯿﭻﮔﻮﻧﻪ ﮐﻮﺗﺎﻫ و ﺑ‬
‫دﻗﺘ ﭘﺬﯾﺮﻓﺘﻪ ﻧﺨﻮاﻫﺪ ﺑﻮد‪ .‬از آﻧﺠﺎﯾ ﮐﻪ ﺗﺼﺤﯿﺢ ﺑﻪ ﺻﻮرت ﺧﻮدﮐﺎر اﻧﺠﺎم ﻣ ﺷﻮد در ﻧﺘﯿﺠﻪ ﻋﺪم رﻋﺎﯾﺖ‬
‫ﻧ ﺎت ﻇﺮﯾﻒ ﻫﻤﭽﻮن ﻧﺤﻮه ی ورودی ﮔﺮﻓﺘﻦ و ﭼﺎپ ﮐﺮدن ﺧﺮوﺟ ﻣﻮﺟﺐ اﺧﺘﻼل در روﻧﺪ ﺗﺼﺤﯿﺢ و در‬
‫ﻧﺘﯿﺠﻪ ﻧﻤﺮه ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬
‫‪ .٢‬ﻓﺎﯾﻞ ﻫﺎ در ﺳﺎﻣﺎﻧﻪ ﺟﺎج ‪ judge.sharif.ir‬ﺑﺎرﮔﺬاری ﺧﻮاﻫﻨﺪ ﺷﺪ ﮐﻪ آدرس و ﻧﺤﻮه ی ﮐﺎرﮐﺮد ﺑﺎ آن در‬
‫‪ P iazza‬اﻋﻼم ﺧﻮاﻫﺪ ﺷﺪ‪ .‬ﻟﻄﻔﺎ ﺑﺎ دﻗﺖ ﻣﻄﺎﻟﻌﻪ ﻓﺮﻣﺎﯾﯿﺪ‪.‬‬
‫‪ .٣‬ﺳﻌ ﮐﻨﯿﺪ در ﺑﺮﻧﺎﻣﻪ ﻫﺎی ﺧﻮد ﻓﺎﺻﻠﻪ ﮔﺬاری و ﮐﺎﻣﻨﺖ ﮔﺬاری را رﻋﺎﯾﺖ ﮐﻨﯿﺪ و ﺑﺮای ﻣﺘﻐﯿﺮﻫﺎی ﺧﻮد ﻧﺎﻣﻬﺎی‬
‫ﻣﻨﺎﺳﺐ اﻧﺘﺨﺎب ﮐﻨﯿﺪ‪.‬‬
‫‪ .۴‬ﺑﺎ ﻫﺮﮔﻮﻧﻪ ﺗﻘﻠﺐ ﺑﺮﺧﻮرد ﺟﺪی ﺧﻮاﻫﺪ ﺷﺪ‪ .‬ﻓﺮد ﺧﺎﻃ ﺑﺎر اول ‪ −١٠٠‬ﻧﻤﺮه ﺑﻪ ازای ﻫﻤﺎن ﺗﻤﺮﯾﻦ درﯾﺎﻓﺖ‬
‫ﺧﻮاﻫﺪ ﮐﺮد و ﺑﺎر دوم ‪ −٢٠٠‬ﻧﻤﺮه و ﺑﻪ ﻫﻤﯿﻦ ﺗﺮﺗﯿﺐ روﻧﺪ ﻧﺰوﻟ اداﻣﻪ ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬
‫‪ .۵‬ﻧﻮﺷﺘﻦ ﺑﺮﻧﺎﻣﻪ ﺗﻮﺳﻂ اﻓﺮاد دﯾ ﺮ‪ ،‬اﺳﺘﺨﺮاج ﮐﺎﻣﻞ ﺑﺮﻧﺎﻣﻪ از اﯾﻨﺘﺮﻧﺖ و ﮐﺪ زدن از روی ﻫﻢ ﺑﻪ ﻣﻨﺰﻟﻪ ی ﺗﻘﻠﺐ‬
‫اﺳﺖ و ﺷﺪﯾﺪا ﺑﺮﺧﻮرد ﻣ ﮔﺮدد‪.‬‬
‫‪ .۶‬ﻫﺮﮔﻮﻧﻪ ﺳﻮال ﻣﺮﺑﻮط ﺑﻪ ﻫﺮ ﯾ‬
‫ﮐﻨﯿﺪ‪.‬‬
‫از ﺗﻤﺮﯾﻦ ﻫﺎ را ﺑﺎ ﺗ‬
‫ﻣﻨﺎﺳﺐ در ﺻﻔﺤﻪ درس در ﺳﺎﯾﺖ ‪ piazza‬ﻣﻄﺮح‬
‫‪ .٧‬ﺑﺎ ﻫﺮﮔﻮﻧﻪ ﺗﻼش در ﺟﻬﺖ دﺳﺘﺮﺳ ﻏﯿﺮﻗﺎﻧﻮﻧ ﺑﻪ ﺳﺮور ﺟﺎج ﺑﺮﺧﻮرد ﺟﺪی ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬
‫‪ .٨‬ﻣﻮﻋﺪ ﺗﺤﻮﯾﻞ ﺳﺎﻋﺖ ‪٢٣ : ۵٩‬روز ﭼﻬﺎرﺷﻨﺒﻪ ‪ ١٣‬آذر ﺑﻮده و ﺑﻪ ﻫﯿﭻ ﻋﻨﻮان ﺗﻤﺪﯾﺪ ﻧﺨﻮاﻫﺪ ﺷﺪ‪ .‬ﺑﻌﺪ از اﯾﻦ‬
‫زﻣﺎن ﺗﺎ دو روز ﺑﻪ ازای ﻫﺮ ‪ ٨‬ﺳﺎﻋﺖ ‪ ١٠‬درﺻﺪ از ﻧﻤﺮه ﺗﻤﺮﯾﻦ ﮐﻢ ﻣ ﺷﻮد‪ .‬ﺑﺮای ﻣﺜﺎل از ‪ ٠٠:٠٠‬روز ﭘﻨﺞ‬
‫ﺷﻨﺒﻪ ﺗﺎ ‪ ٠٨:٠٠‬آن روز ‪٩٠‬اﯾﻦ زﻣﺎن ﺑﻪ ﻫﯿﭻ ﻋﺘﻮان ﻗﺎﺑﻞ ﺗﻤﺪﯾﺪ ﻧﯿﺴﺖ‪.‬‬
‫رﺿﺎﯾﺖ‪ ،‬ﻓﺮوﻏ ‪ ،‬ﻋﺒﺎﺳ ‪ ،‬ﮐﺮﯾﻤ‬
‫‪ )1‬فطردُ سازی‪:‬‬
‫در ایي توریي ضوا تایذ دٍ تاتغ تا ٍرٍدی رضتِ پیادُ سازی کٌیذ‪ .‬تاتغ اٍل‪ ،‬یک رضتِ را دریافت هی کٌذ ٍ آى را هطاتق ًوًَِ‬
‫فطردُ سازی هی کٌذ ٍ تاتغ دیگر رضتِ ی فطردُ سازی ضذُ را هی گیرد ٍ رضتِ ی تسط دادُ ضذُ را خرٍجی ًوایص هی‬
‫دّذ‪.‬‬
‫ًوًَِ‪:‬‬
‫‪h2pw3BbT4n2P‬‬
‫‪hhpwwwBbTTTTnnP‬‬
‫دقت کٌیذ کِ کَچکی ٍ تسرگی حرٍف اّویت دارد‪ّ .‬وچٌیي اگر تؼذاد تکرار یک تاضذ‪ ،‬ػذد یک چاج ًوی ضَد‪.‬‬
‫در ٍرٍدی‪ ،‬اتتذا ‪ n‬تؼذاد کل ػولیات ّا هی آیذ‪ .‬سپس در ‪ 2n‬خط تؼذی ترای ّر هَرد اتتذا در یک خط ػذد ‪ 1‬یا ‪ 2‬کِ تؼییي‬
‫کٌٌذُ ی ضوارُ ی تاتغ است دادُ هی ضَد ٍ در خط تؼذی ٍرٍدی‪ ،‬رضتِ دادُ هی ضَد‪.‬‬
‫خرٍجی‬
‫‪h2pw3BbT4n2P‬‬
‫‪hhpwwwBbTTTTnnP‬‬
‫ٍرٍدی‬
‫‪2‬‬
‫‪1‬‬
‫‪hhpwwwBbTTTTnnP‬‬
‫‪2‬‬
‫‪h2pw3BbT4n2P‬‬
‫‪ )2‬جستجَ‪:‬‬
‫ترًاهِای تٌَسیذ کِ یک آرایِ دریافت کردُ‪ ،‬اتتذا آى را هرتة کردُ سپس تا استفادُ از جستجَی دٍدٍیی تِ صَرت تازگطتی‪،‬‬
‫در صَرت ٍجَد ػذد ‪ x‬در آرایِ‪ ،‬کَچکتریي ٍ تسرگتریي اًذیس آى در آرایِ هرتة ضذُ را چاج کٌذ‪.‬‬
‫ٍرٍدی‪:‬‬
‫اتتذا ‪ n‬تؼذاد اػذاد آرایِ دادُ هی ضَد‪ .‬در ‪ n‬خط تؼذی ‪ n‬ػذد کِ اػضای آرایِ ّستٌذ دادُ هی ضَد‪ .‬سپس در خط اخر ػذد‬
‫هَرد جستجَ ‪ x‬دادُ هی ضَد‪.‬‬
‫خرٍجی‪:‬‬
‫کوتریي ٍ تیطتریي اًذیس ػذد در آرایِ هرتة ضذُ را تا یک فاصلِ در صَرت ٍجَد چاج کٌیذ‪ ،‬در غیر ایيصَرت دٍ ػذد ‪-1‬‬
‫چاج کٌیذ‪.‬‬
‫ٍرٍدی‬
‫خرٍجی‬
‫‪5‬‬
‫‪13‬‬
‫‪12221‬‬
‫‪2‬‬
‫‪ )3‬هجوَع فیثًَاچی‪:‬‬
‫یک ریاضی داى کِ ػالقِ تسیاری تِ ثثت ًام خَد در تاریخ دارد‪ ،‬تاتؼی تا ػٌَاى هجوَع فیثًَاچی را از خَد اتذاع کردُ است!‬
‫اگر تاتغ فیثًَاچی را تِ ایي صَرت داضتِ تاضین‪:‬‬
‫)‬
‫تاتغ هجوَع فیثًَاچی تِ ایي صَرت تؼریف هیضَد‪:‬‬
‫(‬
‫( {‬
‫)‬
‫)( ∑‬
‫) (‬
‫) (‬
‫ترًاهِ ای تٌَیسیذ کِ هقذار تاتغ فاکتَریل فیثًَاچی را تِ ازای هقذار دادُ ضذُ ‪ n‬هحاسثِ کٌذ‪.‬‬
‫ٍرٍدی‬
‫خرٍجی‬
‫‪1‬‬
‫‪3‬‬
‫‪2‬‬
‫‪7‬‬
‫‪)4‬کاضی کاری‪:‬‬
‫هْذی در اردٍی جْادی ٍظیفِ دارد تا راّرٍّای هذرسِ ای فرسَدُ را ترهین کٌذ‪ .‬اٍ هی خَاّذ راّرٍّای ایي هذرسِ را کِ‬
‫تِ صَرت هستطیل ّای‬
‫ّستٌذ تا کاضی ّایی تِ ضکل زیر فرش کٌذ‪ .‬اٍ ػالقِ هٌذ است تا تذاًذ کِ ّر راّرٍ را تِ‬
‫چٌذ صَرت هتفاٍت هی تَاًذ فرش کٌذ‪ .‬تِ اٍ کوک کٌیذ تا تؼذاد راُ ّای هتفاٍت فرش کردى ّر راّرٍ را پیذا کٌذ‪.‬‬
‫ٍرٍدی‪:‬‬
‫در تٌْا خط ٍرٍدی‬
‫کِ طَل راّرٍ هَرد ًظر است تِ ضوا دادُ هی ضَد‪.‬‬
‫خرٍجی‪:‬‬
‫تؼذاد راُ ّای هختلف فرش کردى راّرٍ را چاج کٌیذ‪.‬‬
‫ٍرٍدی‬
‫خرٍجی‬
‫‪2‬‬
‫‪24‬‬
‫‪2‬‬
‫‪5‬‬
‫‪ )5‬هستطیل پر ارزش‪( :‬اهتیازی)‬
‫ترًاهِای تٌَیسیذ کِ تا گرفتي یک جذٍل ‪ n*m‬از اػذاد صحیح‪ ،‬ارزش پرارزش تریي ریسهستطیل آى را چاج کٌذ‪.‬‬
‫ارزش ّر زیر هستطیل تراتر تا هجوَع اػذاد هَجَد در آى زیر هستطیل است‬
‫تَجِ کٌیذ کِ اػذاد هیتَاًٌذ هثثت یا هٌفی تاضٌذ‪ ،‬تٌاترایي کل جذٍل‪ ،‬لسٍهاً جَاب هسألِ ًیست‪.‬‬
‫ٍرٍدی‪:‬‬
‫اتتذا در خط اٍل ‪ mٍ n‬دادُ هی ضَد‪ .‬سپس در ‪ n‬خط تؼذی در ّر خط ‪ m‬ػذد سطر ‪i‬ام دادُ هی ضَد‪.‬‬
‫خرٍجی‪:‬‬
‫هجوَع اػذاد هَجَد در پر ارزش تریي زیرهستطیل جذٍل (ارزش زیرهستطیل)‬
‫ٍرٍدی‬
‫خرٍجی‬
‫‪14‬‬
‫‪25‬‬
‫‪1 4 1 -1 9‬‬
‫‪-3 2 0 -3 -2‬‬