פורסם 2005 בדצמבר 220 שנים מחבר פתרתי את כל הבעיות שציינתי עד עכשיו, עכשיו לשאלות הבאות:(1)יש את הפונקציה BAR שהתחביר שלה הוא כזה:setfillstyle(1, setmaxcolor());bar(x,y,x+15,y+15);הבעייה שלא הצלחתי לפתור איתה שהיא צובעת רק בצבע לבן , יש דרך לצבוע בצבע אחר?(2)כשאני מגלה מוקש ("10") אני מראה אותו , כשאני מגלה מס' שמייצג מוקשים (מ1 עד 8) מסביב אני מראה את המספר -> עד לפה הכל בסדר. כשאני לוחץ על משבצת ריקה ("0") אני אמור לחשוף את כל המשבצות הריקות שבאזור עד למוקשים (לא כולל) - איך אני עושה את הסריקה הזו ?תודה.
פורסם 2005 בדצמבר 220 שנים ברקורסיה. אתה עולה אחד למעלה, למטה ועובד לצדדים עד שיש כאלה עם מוקשים לידם(המספר שלהם שונה מ-0).ורשמתי לך שם פתרון בהודעה הקודמת שלי על החישוב של מס המוקשים. למה אתה לא משתמש בזה?
פורסם 2005 בדצמבר 320 שנים מחבר מה זה רקורסיה ? המקומות הריקים (0) יכולים להיות גם בפינות וגם רחוקים בכמה תאים ובצורות שונות ( ) , רקורסיה מטפלת בדברים כאלו? הפתרון שלך לא מובן לי (כאילו התנאי המקוצר) והוא לא כל כך עובד :-\ צירפתי תמונה שלחצתי על איזור ריק (ללא מוקשים ומספרים שמייצגים מוקשים) ונפתחו כל המשבצות הריקות בטווח של המספרים המייצגים מסביב. זה רק אני או שזה נראה מסובך? [attachment deleted by admin]
פורסם 2005 בדצמבר 320 שנים רקורסיה היא בעצם פונקציה החוזרת על עצמה עד לתנאי עצירה מסויים. לדוגמא אתה רוצה להדפיס את כל המספרים מ 0 עד N אז אתה יכול לעשות ככה void printt(int n) { if (n>0) { printt(n-1); printf(.....,n); } } מה שהרקורסיה טובה בה היא עבודה עם דברים שקל להתקדם קדימה אבל לחזור אחורה קשה. לדוגמא: עץ בינארי את מה ששאלת אם זה מקום ריק אז שיפתח את הכל סביבו אפשר לפתור עם רקורסיה. מה שאתה צרי לעשות זה דבר כזה: בתחילת הפונקציה אתה צריך לבדוק אם המקום שאתה נמצא עליו עכשיו הוא מקום ריק. אם כן אתה קורא לפונקציה שוב שתסרוק את כל התאים שסביבו(במקרה שהוא ריק שהיא תסמן אותו כלחוץ).ברגע שהגעת למספר הפונקציה פותחת אותו ומסתיימת. כך בעצם אתה עובר על כולם בצורה הכי פשוטה. נכון אוליי זה לא הכי יעיל אבל באמת.. למי אכפת ? זה יעבוד .. (הייתי רושם לך אלג' אבל לצערי אני יודע רק C ולא C++ ולא למדתי גרפיקה :\)
פורסם 2005 בדצמבר 320 שנים אלגוריתם_שפותר(אני_תא_שלום_לך_בן_אדם)(אם אני מסומן החזר 0)1. צייר אותי(סמן אותי)2. אם אני ריק אזי 2.1 החזר לך לזה שיושב עלי, זה שאני יושב עליו ואלה שאני מחזיק להם ידיים.3. אחרת 3.1 החזר 1זהו האלגוריתם. הוא סוכם לך גם כמה נפתחו לך בצדדים. אתה יכול לעשות את זה יעיל יותר אם תסמן את אלה שכבר ביקרת בהם.(בסוגריים)
פורסם 2005 בדצמבר 419 שנים אתה משתמש בBORLAND? כי ניסיתי ב DEVCPP ולא עשה לי COMPILE בין השאר בגלל CLRSCR שזה כמה שידוע לי BORLANDיש מצב שזה יהיה קוד תקני ולא רק לCOMPLIER אחד?
פורסם 2005 בדצמבר 419 שנים ש מצב שזה יהיה קוד תקני ולא רק לCOMPLIER אחד?BGI זה כבר ספציפי לבורלנד.לקטע של "פתיחת התאים" רקורסיה נשמעת כמו הפיתרון הכי פשוט. אופציה קצת יותר מורכבת היא סריקת BFS -אתה מחזיק תור של התאים שאתה רוצה להרחיב, ובלולאה מוציא תא, פותח אותו, ומוסיף את השכנים שלו אם עוד לא פתחת אותם.זה קצת יותר יעיל, כי אין כ"כ הרבה קריאות לפונקציות, ואם אתה מצייר כל תא אחרי שאתה פותח אותו ייצא לך אפקט נחמד.
פורסם 2005 בדצמבר 519 שנים הקטע של היעילות זה בעיקר בגלל קריאות מרובות לפונקציה. שימוש בטיפוס נתונים שמאפשר הכנסה/הוצאה inline מאפשר לעשות את זה בלי קריאות לפונקציה.לפני שנתיים נאלצתי לעשות מימוש כזה ל- floodfill בגלל שהיה לי stack מאוד מוגבל, ושטח גדול שהייתי צריך למלא.
פורסם 2005 בדצמבר 519 שנים אבל כאן אתה בעצם מממ את הSTACK בעצמך. השאלה היא איזה STACK יעיל יותר(הקריאה לפונ או שמירת האיברים).
פורסם 2005 בדצמבר 519 שנים טוב היה לי משעמם וחיפשתי קצת אתגריםאז עשיתי את המשחק בעצמיזה לא מושלם לגמרי אבל כרגע אפשר לשים דגלים , לפתוח משבצותאבל הקטע שמעצבן זה הלפתוח אוטומטים אזורים ריקיםכאילו זה לא מסובך אבל לא יודע למה לא עובדפשוט לעשות בדיקה לכל התאיםובכל בדיקה לבדוקה עם התא שווה ל 0 אז לפתוח את התאים שמסביבוהשתמשתי בשני מערכים , אחד "אמיתי" עם כל הפתרון והשני של מה שרואים על המסך
פורסם 2005 בדצמבר 519 שנים בשני אתה יכול לשמור רק 1 או 0, כלומר, האם הוא מוצג על המסך או לא(אם לא עשית ככה).
פורסם 2005 בדצמבר 719 שנים פחות או יותר סיימתי את המשחק הזהאז לפותח הדיון אם אתה מעוניין -http://www.rar.co.il/files/eMule-1133971166.rar
פורסם 2005 בדצמבר 719 שנים חחחחח נחמד אהבתי אבל קצת מבלבל בהתחלה.. יש לך גם באג שאפשר לשים דגל על משבצת שהיא כבר פתוחה ושאתה פותח אותה מחדש היא מגלה עוד כמה משבצות בדרך. (אם המורה שלי למבנה נתונים היה רואה את התוכנית שלך הוא היה משמיד אותה ואותך במקום .)
פורסם 2005 בדצמבר 719 שנים חחחלא אשמתי90% מהתוכנית זה קוסמטיקהזה לא קל לתת אשליה של "תוכנה אמיתית" רק מ PRINTF....אני יודע שיש באגים , אבל ממש לא ניראה שאני הולך לתקן שם משהו כי זה היה סתם משהו משעמוםגם החלק של הבחירת תא היה צריך להיות בפונקציה משלו (חוזר 3 פעמים) אבל התעצלתיבקיצור הייתי אומר לא רע בשביל מישהו שלפני שלושה שבועות לא ידע לעשות HELLO WORLD במיוחד ששאר הכתה עדיין תקועים ב FOR... חחח
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.