مشاهده نسخه کامل
: "برنامهn وزیر به زبانC"
tornado12345
08-01-2009, 11:17
n وزیر را پیاده سازی کند،(n وزیر را بگونه ای درون صفحه ای قرار دهیم که هیچ دو وزیری یکدیگر را تهدید نکند مقدارn را دریافت کند خروجی نمونه تولید کند)
هدف پيدا کردن راهحلي براي چيدن n وزير در صفحهي شطرنج n×n (n>=8)است به نحوي که هيچ دو وزيري يکديگر را تهديد نکنند. براي اين کار از روش کمترين مقدار باقيمانده استفاده ميکنيم. به اين ترتيب که:
1. هر ستون را به عنوان يک عنصر در نظر ميگيريم که بايد يک وزير را در يکي از سطرهايش قرار دهيم.
2. وزير اول را در سطر اول از ستون اول قرار ميدهيم.
3. حال براي هر ستون تعداد خانههايي از آن را که تهديد نميشوند ميشماريم.
4. براي مرحلهي بعد، ستوني را که کمترين خانهي امن را دارد برميگزينيم و يک وزير را در اولين سطر امن آن قرار ميدهيم.
5. مراحل 3 و 4 را تکرار ميکنيم تا:
a. در هر ستون يک وزير در خانههاي امن قرار گيرد. که کار تمام است و مختصات وزيران را چاپ ميکنيم.
b. يا به جايي ميرسيم که ديگر هيچ خانهي امني براي بقيه ستونهاي باقي نمانده. لذا آخرين وزيري را که قرار داده بوديم به خانهي امن بعدي در همان ستون منتقل ميکنيم. اگر آن ستون ديگر خانهي امني ندارد پس بايد به ستون قبلي که وزيري را در آن قرار داده بوديم برويم و اين کار را انجام دهيم و الي آخر.
اگر دو ستون تعداد خانهي امن مساوي و کمينه داشته باشند، ستون با انديس کمتر را انتخاب ميکنيم.
براي اين مسئله تضمين ميشود که حتماً جوابي به روش فوق پيدا ميشود. پياده سازي اين الگوريتم به روش بازگشتي بسيار ساده است.
tornado12345
10-01-2009, 13:10
هدف پيدا کردن راهحلي براي چيدن n وزير در صفحهي شطرنج n×n (n>=8)است به نحوي که هيچ دو وزيري يکديگر را تهديد نکنند. براي اين کار از روش کمترين مقدار باقيمانده استفاده ميکنيم. به اين ترتيب که:
1. هر ستون را به عنوان يک عنصر در نظر ميگيريم که بايد يک وزير را در يکي از سطرهايش قرار دهيم.
2. وزير اول را در سطر اول از ستون اول قرار ميدهيم.
3. حال براي هر ستون تعداد خانههايي از آن را که تهديد نميشوند ميشماريم.
4. براي مرحلهي بعد، ستوني را که کمترين خانهي امن را دارد برميگزينيم و يک وزير را در اولين سطر امن آن قرار ميدهيم.
5. مراحل 3 و 4 را تکرار ميکنيم تا:
a. در هر ستون يک وزير در خانههاي امن قرار گيرد. که کار تمام است و مختصات وزيران را چاپ ميکنيم.
b. يا به جايي ميرسيم که ديگر هيچ خانهي امني براي بقيه ستونهاي باقي نمانده. لذا آخرين وزيري را که قرار داده بوديم به خانهي امن بعدي در همان ستون منتقل ميکنيم. اگر آن ستون ديگر خانهي امني ندارد پس بايد به ستون قبلي که وزيري را در آن قرار داده بوديم برويم و اين کار را انجام دهيم و الي آخر.
اگر دو ستون تعداد خانهي امن مساوي و کمينه داشته باشند، ستون با انديس کمتر را انتخاب ميکنيم.
براي اين مسئله تضمين ميشود که حتماً جوابي به روش فوق پيدا ميشود. پياده سازي اين الگوريتم به روش بازگشتي بسيار ساده است.
========================
باتشکر
منظورم سورس برنامه c هست
setareh_mf_19
18-01-2009, 22:14
سلام ميشه سورس برنامه وزيرها يا پريم رو به من بدين مرسي
mortezamsp
09-03-2009, 14:28
سلام دوست عزيز.كارت لنگه؟ الآن راش ميندازم.
التبه اين برنامه هشت وزيره.ببين خوبه؟
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
بچه ها اینم 8وزیره
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
MicrosoftH
12-05-2009, 14:53
آره درسته؟
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.