PDA

View Full Version : سوال: عنصر خالی در پازل اعداد



S-JOURIAN
جمعه 27 آذر 1394, 17:04 عصر
سلام
برای برنامه پازل اعداد باید یک عنصر خالی وجود داشته باشه
اون رو چطوری ایجاد کنیم و اینکه اون عنصر قابل جابجایی باشه

Poores
یک شنبه 29 آذر 1394, 03:15 صبح
میتونین عدد 0 رو برای عنصر خالی در نظر بگیرید.

اگه پازل رو یک آرایه دو بعدی نظر بگیریم ، برای جابه جایی کافیه جای عنصر 0 رو با عنصری که میخواهیم 0 به سمتش حرکت کنه عوض کنیم
البته باید حواسمون به حاشیه باشه که اگه مثلا عنصر صفر در سطر اول بود و خواستیم به بالا حرکتش بدیم چون عنصر بالاتری نداریم باید با پایین ترین عنصر جابه جا کنیمش!
همچنین برای کناره های چپ ، راست و پایین

S-JOURIAN
سه شنبه 01 دی 1394, 21:01 عصر
اره
ولی من نمیخام توی خروجی برنامه 0 دیده بشه

Poores
سه شنبه 01 دی 1394, 22:05 عصر
if(a[i][j] == 0)
cout << ' ';


به 0 که رسیدین ' ' فاصله چاپ کنین.

می تونین هم آرایه رو از جنس کارکتر بگیرین ، بجای صفر از ' ' فاصله استفاده کنین

S-JOURIAN
چهارشنبه 02 دی 1394, 07:32 صبح
مرسی
ولی این دستور رو باید قبل از رسم ارایه بنویسم یا بعدش؟؟

S-JOURIAN
پنج شنبه 03 دی 1394, 19:57 عصر
QUOTE=S-JOURIAN;2291658]می تونین هم آرایه رو از جنس کارکتر بگیرین ، بجای صفر از ' ' فاصله استفاده کنین[/QUOTE]

اینکارو کردم درست بود برای جدول 3*3
ولی برای جدول هایی که بزرگتر از 10 بودن به جای اعداد اشکال چاپ میشدن

Poores
شنبه 05 دی 1394, 00:12 صبح
مرسی
ولی این دستور رو باید قبل از رسم ارایه بنویسم یا بعدش؟؟

طبیعتا قبلش که بعد از اینکه چاپ کردین با آخرین تغییرات چاپ بشه .




QUOTE=S-JOURIAN;2291658]می تونین هم آرایه رو از جنس کارکتر بگیرین ، بجای صفر از ' ' فاصله استفاده کنین

اینکارو کردم درست بود برای جدول 3*3
ولی برای جدول هایی که بزرگتر از 10 بودن به جای اعداد اشکال چاپ میشدن[/QUOTE]

در این صورت جنس آرایه رو به string (رشته) تغییر بدین چون "10" دیگه دو کارکتر هست و عملا رشته حساب میشه


string[20][20] map;