نحوه طراحی و الگوریتم نویسی برنامه جدولساز
سلام
دوستان و جناب خجسته
چند وقت قبل یکی از دوستان پروژه ای در مورد طراحی و پیاده سازی نرم افزار جدول را از شرکتی قبول کرد و مشغول اجرا شد . متاسفانه در حال حاضر بعد از گذشت چند ماه اجرای پروژه با شکست مواجه شده است . و از طرفی مجبور به تحویل هم میباشد لذا از دوستان تقاضا راهنمایی داریم:
تا آنجا که بنده مطلع شدم در برنامه از بانکی که مشتمل بر هزاران کلمه با موضوعات مختلف میباشد استفاده خواهد شد.
کاربر میتواند جدول دلخواه با تعداد ستون و ردیف بین 5 تا 15 انتخاب کند.
کاربر میتواند به دلخواه تعدادی از خانه ها را سیاه کند.
پس از تنظیمات باید برنامه از بین کلمات بانک بطریق سعی و خطا خانه های جدول را با کلمات( حرف به حرف و افقی و عمودی) پر کند ( یعنی همان کاری که طراحان جدول به صورت سنتی انجام میدهند). پس از مشخص شدن حروف وکلمات کاربر برای هر کلمه سوالی را برای ارایه جدول به دیگران در نظر خواهد گرفت .
این دوست ما نیازمند به راهنمایی و الگوریتم پیشنهادی است و چنانچه سورس آماده وجود داشته باشد آمادگی پرداخت هزینه میباشد( حالا چقدر ؟؟ من نمیدانم).
با تشکر قبلی
پرکردن جدول کلمات متقاطع از یک بانک کلمات
سلام،
پر کردن یک جدول کلمات متقاطع با استفاده از تکنیک بازگشت به عقب به راحتی قابل انجام است.
تک تک خانه های جدول را بررسی کرده لیستی از از خانه هایی که به عنوان خانه شروع یک کلمه (حرف اول آن) افقی یا عمودی هستند تهیه می کنیم؛ هر خانه یک بار برای افقی و یک بار برای عمودی بطور جداگانه بررسی می شود. طبیعتا کلمه هایی صفر یا یک حرفی نداریم. در واقع این لیست معادل فهرستی از آیتم های شرح جدول است.
سپس از ابتدای لیست خانه های اول شروع کرده از درون بانک کلمات، با توجه به تعداد حرف های کلمه، و با توجه به خانه های از قبل پر شده در کلمه، کلمه ای از بانک انتخاب می شود و در جدول قرار می گیرد، سپش به خانه بعدی از لیست می رویم و عملیات را تکرار می کنیم. هر زمان که کلمه قابل استفاده دیگری در بانک یافت نشد به خانه قبلی برگشته و کلمه ممکن بعدی را برای آن اختیار می کنیم. زمانی که آخرین خانه نیز با موفقیت انجام شد کار تمام است، و اگر به جایی رسیدیم که برای اولین خانه کلمه دیگری موجود نبود مساله بدون جواب است.
البته این الگوریتم پایه و مستقیم است بدون هوشمندی و احتمالا قابل بهینه سازی.
یک یا دو سال گذشته دیدم نرم افزاری به نام جدول ساز در بازار فروخته می شود؛ شاید یک نسخه از آن مشکل دوست شما را حل کند. (محل مشاهده! تکنو 2000)