נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: שאלה בנושא משחק 8 המלכות אם מישהו יכול לע

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
etaibor
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 27 September 2008
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1
נשלח בתאריך: 27 September 2008 בשעה 20:46 | IP רשוּם
ציטוט etaibor

שלום לכולם

יש לי שאלה אליכם אני אמור לכתוב תכנית בשפת c התכנית היא משחק 8 המלכות אבל אני אמור לעשות אותו בלי פונקציה רקורסיבית ובלי מערכים דו מימדיים הפונקציה אמורה לקבל רק מערך חד מימדי ואני לא יודע איפה אני מתחיל או מה אמור להיות האלגוריתם

מישהו יכול לעזור לי ??? רעיונות או כיוון כתיבה כל דבר

חזרה לתחילת העמוד הצג את כרטיס החבר של etaibor חפש הודעות אחרות של etaibor
 
אני לעזור
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 28 September 2008 בשעה 05:20 | IP רשוּם
ציטוט אני לעזור

לגבי מערך החד ממדי זה לא בעיה, כיוון שניתן לתאר כל פתרון שהיית מממש בעבור בעיה זו בצורה דו מימדית באמצעות מערך חד ממדי.
לדוגמא נגיד ולוח המשחק הוא 3X3 ונאמר שאתה רוצה למקם מלכה במיקום 1,1 אז אתה יכול למקם במערך במקום ה-0 את הספרה 1.
ניתן לעשות זאת כיוון שחוקי המשחק מחייבים שלא תהיה יותר ממלכה אחת בכל שורה, לכן הצבה של מס' מסויים ייצג מיקום של מלכה אחת. זה לגבי הייצוג במערך חד ממדי.

לגבי פתרון הבעיה, לרוב הפתרונות שמלמדים בנויים בצורה רקורסיבית.
יש כמה פתרונות מקובלים מעולם ה-AI, שגם הם לרוב רקורסיבים, ואלה שלא כנראה לא מתאימים לקורס שאתה לומד (בהנחה שזה לא קורס - AI).
ישנו פתרון אחד שאולי יכול לעזור לך שמבוסס על רעיון שהוא די פשוט -
הרעיון הוא לעבור על כל השורות מההתחלה עד הסוף, בכל שורה לנסות למקם בצורה אקראית מלכה.
אם נמצא מיקום בו המלכה לא מאיימת על אף מלכה אחרת ממשיכים לשורה הבאה, אם לא קיים מיקום כזה בכלל חוזרים לשורה הקודמת.

דוגמא לאלגוריתם:
1. מקם את X על השורה הראשונה.
2. כל עוד X קטן שווה ממס' השורות בצע:
  2.2 הצב ב-count אפס.
  2.3 כל עוד count קטן ממס' העמודות בצע:
     2.3.1 בחר בצורה אקראית עמודה להצבת המלכה.
     2.3.2 הגדל את count ב-1.
     2.3.3 אם המלכה אינה מאיימת על אף מלכה אחרת קדם את X ב - 1 (לשורה הבאה) ולך לצעד 2.
  2.4 הוצא את המלכה מהשורה מס' X.
  2.5 החסר מ - X אחד (חזור לשורה קודמת).
  2.6 הוצא את המלכה מהשורה מס' X.

חזרה לתחילת העמוד הצג את כרטיס החבר של אני לעזור חפש הודעות אחרות של אני לעזור בקר בדף הבית של אני לעזור
 
אנונימי
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 11 October 2008 בשעה 12:17 | IP רשוּם
ציטוט אנונימי

סיקסיק יודע מזה?
חזרה לתחילת העמוד הצג את כרטיס החבר של אנונימי חפש הודעות אחרות של אנונימי בקר בדף הבית של אנונימי
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה