לאחרי שאלתי הקודמת שהפילה אסימונים לאנשים, הנה עוד אחת:

מנהלים: TA_nimrod, TA_Igor, TA_Adi

שלח תגובה
AmiEli
הודעות: 68
הצטרף: 20:24 25/10/2009

לאחרי שאלתי הקודמת שהפילה אסימונים לאנשים, הנה עוד אחת:

שליחה על ידי AmiEli » 17:04 26/12/2009

והפעם אני מפרסם 4 ימים לפני ההגשה! שלא תגידו שלא חשבתי עלייכם.

לגבי פונקצית
SUMAREAUPTO בלה בלה

בפונקציה AREAUPTO
נשמעת קלה ופשוטה
אנחנו מקבלים שטח מסויים ומחזירים מערך חדש של פוליגונים שמופיעים במערך הזה רק הפוליגונים העונים על הדרישה ששטחם קטן או שווה לשטח שקיבלנו.
עכשיו, נניח שהפוליגון קונטיינר הנוכחי הוא באורך 50 ולא 10. מצב שייתכן בהחלט לא?

אז אני צריך לעשות קודם כל קופי קונסטרקטור ,שייצור לי מערך זהה חדש, ולאתחל את כל איבריו ל NULL.

רק אח"כ להעתיק למערך המאותחל החדש שלי , את כל האיברים הקטנים מהשטח הנתון.

עכשיו שאלתי : האם הדרך הזאת נכונה?
או שאני יכול להניח שבפונקצייה הזאת תמיד אני מקבל מערך בגודל 10 ואז לא צריך לעבור על כל אורך המערך החדש ולאתחל אותו כי זה מה שעושה הבנאי.

מה אומרים?

ושאלה קטנה נוספת:

בפונקציה NUMOF POLYGONS.

ידוע שצריך לעבור על כל איבר במערך ולהוסיף אותו לקאונטר אם הוא פוליגון.
האם מותר לי להשתמש ב INSTANCEOF או שאני רק צריך להוסיף אותו לקאונטר אם הוא לא NULL?
הרי אני מניח שבמערך הנוכחי לא יכול להיות שום דבר שהוא לא פוליגון...
לא יכול להיות שיהיה לי שם אינטג'ר או דאבל או פוינט או איזשהוא שקר כלשהוא.

האם כך הדבר? או שאין מנוס מלהשתמש בINSTANCEOF?
תודה לכולם ושבוע טוב :mrgreen:

dimaku
הודעות: 13
הצטרף: 15:28 23/10/2009

Re: לאחרי שאלתי הקודמת שהפילה אסימונים לאנשים, הנה עוד אחת:

שליחה על ידי dimaku » 17:27 26/12/2009

בקשר לשאלה השניה שלך
num of polygons
אתה צריך להחזיר את המספר הפוליגונים שברשותך, אז נתון לך מערך של פוליגונים, אתה רק צריך להחזיר כמה יש לך
אין שום סיבה להשתמש בinstance of .. פשוט תבדוק אחד אחד , ותוסיף לספירה את כל מי שלא null

Shahar
הודעות: 160
הצטרף: 16:49 29/10/2009

Re: לאחרי שאלתי הקודמת שהפילה אסימונים לאנשים, הנה עוד אחת:

שליחה על ידי Shahar » 17:36 26/12/2009

למה שתשתמש בcopy constructor?
זה ממש לא מתאים למה שאתה צריך לעשות. כדי להגיע למצב שהכל null, תצטרך, אחרי ההעתקה, לעבור על כל פוליגון, להוציא ממנו נקודה כלשהי, ואז למחוק אותו לפי הנקודה הזאת.
פשוט תיצור container חדש בעזרת הdefault constructor, ותתחיל להוסיף אליו כל מה שצריך, והוא יהיה בגודל המתאים.
ולמה שתוכל להניח שהמערך שאתה מקבל הוא בגודל 10?!

לגבי numOfPolygons, איך יכול להיות שיהיה לך בתוך מערך מסוג polygon, משהו שהוא לא Polygon ולא null?
אגב לדעתי יותר פשוט ליישם את זה עם שדה פרטי במחלקה, ראה ObjectSet מההרצאות.

רפי_כהן_TA
הודעות: 168
הצטרף: 16:38 05/11/2008

Re: לאחרי שאלתי הקודמת שהפילה אסימונים לאנשים, הנה עוד אחת:

שליחה על ידי רפי_כהן_TA » 10:57 27/12/2009

מה ששחר אמר/ה.
צוות מבוא למדעי המחשב (מתרגל)

שלח תגובה

חזור אל “- מבוא למדעי המחשב 2010”