ورود

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



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

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

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

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

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


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

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

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

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

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

Poores
جمعه 04 دی 1394, 23:12 عصر
مرسی
ولی این دستور رو باید قبل از رسم ارایه بنویسم یا بعدش؟؟

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




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

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

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


string[20][20] map;