פורסם 2005 בפברואר 1320 שנים למישהו יש? אני מבקש רק בגלל שהמורה לא ממש יודע להסביר על זה.אם יש בעברית אדרבה, אבל אם אין גם אנגלית טוב.
פורסם 2005 בפברואר 1320 שנים למדת תור, כי אם כן, אז זה בידיוק ההפך!אם לא, במחסנית, הרעיון הוא LIFO, כלומר נכנס ראשון יוצא אחרון(או גם נכנס אחרון, יוצא ראשון) בניגוד לתור שבו נכנס ראשון יוצא ראשון(לפי הקלט). במחסנית, מה שאתה רואה זה רק את האיבר הראשון בה, ואין לך גישה לאיברים האחרים במחסנית, אלא אם כן אתה שולף איבר ממנה(ואז האיבר הראשון החדש הוא האיבר השני הישן).למעשה, המחסנית ממומשב(לעיתים קרובות מאוד) ברשימה מקושרת(ואל תגיד למורה שלך שאמרתי לך - כי הוא יכחיש שזה לא נכון), וזהו בגדול. אם יש לך עוד שאלות תשאל כי מה שהסברתי לך כאן זה על רגל אחת ויכול להיות שפספסתי כמה דברים.
פורסם 2005 בפברואר 1320 שנים http://en.wikipedia.org/wiki/Stack_%28computing%29 ואגב.. תתחדש על הסמל שלך....
פורסם 2005 בפברואר 1320 שנים מחסנית זה מערך בלתי מוגבלמתי שאתה מכניס איברים למחסנית הם יצאו בסדר ההפוךהראשון שנכנס יוצא אחרון, האחרון שנכנס יוצא ראשון....אפשר להשתמש במחסנית לתרגיל כמו מגדלי הנוי למי שמכיר
פורסם 2005 בפברואר 1320 שנים מחסנית זה מערך בלתי מוגבלמתי שאתה מכניס איברים למחסנית הם יצאו בסדר ההפוךהראשון שנכנס יוצא אחרון, האחרון שנכנס יוצא ראשון....אפשר להשתמש במחסנית לתרגיל כמו מגדלי הנוי למי שמכירמחסנית זה לא מערך בלתי מוגבל.. אתה מתבלבל בין הגדרת מחסנית למימוש צפציפי שבחרת.... יש מימושים של ARRAY מוגדר מראש (ומוגבל), או DYNAMIC ARRAY, או LINKED LIST.... (הכל תלוי בדרישת הפרויקט)..
פורסם 2005 בפברואר 1320 שנים אני מדבר על הדינמיבשביל להשתמש במחסנית לא דינמית?אה בעצם יש מצב שצריך... אבל אפשר להגביל מחסנית גם כשהיא דינמית עם IF פשוט...
פורסם 2005 בפברואר 1320 שנים אני מדבר על הדינמיבשביל להשתמש במחסנית לא דינמית?אה בעצם יש מצב שצריך... אבל אפשר להגביל מחסנית גם כשהיא דינמית עם IF פשוט...כשתלמד על סיבוכיות המימושים השונים של מחסנית, תדע למה צריך...
פורסם 2005 בפברואר 1320 שנים אם אתה מתכוון להקצאה דינמית זה אמור להיראות כך:main(){int n;int *a;printf("enter array size: ");scanf("%d", &n);if (n>0)a=(int *)malloc(n*sizeof(int));...הסבר ההקצאה:אם גודל המערך הוא n וגודל כל משתנה במערך הוא (sizeof(int (במקרה הזה 4-int) אז מספר הבתים שיש להקצות למערך הוא (n*sizeof(intאחרי השורה האחרונה a הוא מערך... ...[a[0], a[1], a[2ה- (int *) זה המרה של טיפוס הפוינטר. בעיקרון malloc מחזירה פוינטר סתמי מטיפוס *void ... אבל זה לא חשוב..הפונקציה malloc שזו הפונקציה שאתה צריך היא נמצא או ב stdlib.h או ב malloc.hהערה:כל אחד מהטיפוסים הבאים תופס:double-8int-4char-1...
פורסם 2005 בפברואר 1320 שנים ברוך הבא לפורומים, אבל מה שהבאת פה זה קוד שבכלל לא קשור למחסנית.. בסה"כ אתה עושה פה הקצאת זכרון... אין פה סממן אל מחסנית (כמו POINTER לנתון האחרון במחסנית וכו', פקודות PUSH ו POP).. וגם המימוש די מגביל אותך (הוא לא גנר'י מספיק), וגם יש עוד צורות מימוש דינמיות כמו LINKED LIST....
פורסם 2005 בפברואר 1320 שנים הבאתי כאן דוגמא להקצאה דינמית לא למחסנית... מחר שאני לא יהיה כלכך עייף אני אתן דוגמא להקצאה דינמית עם מחסנית (בדיוק זה שיעורי הבית שלי ליום ראשון)
פורסם 2005 בפברואר 1420 שנים אם אתה יודע קצת STRUCT ורשימות מקושרות, כדאי לך להשתמש בהם, כי רוב ההתעסקות שלך עם המחסנית היא להוציא ולהכניס את האיבר הראשון(או אליו), ובמקום כל פעם מחדש להקצות מקום לכל המערך החדש ולהעתיקו, אתה פשוט מתעסק עם איבר אחד, והכל נהיה יעיל יותר. בדוגמה זו אתה לא צריך להכיר את שאר האיברים במחסנית, רק את האיבר הראשון, ולכן היתרון הגדול של מערך לא מתיישם כאן(האפשרות להגיע לכל איבר ישירות ולא ע"י לולאה ברשימה).יצא קצת מסובך
פורסם 2005 בפברואר 1520 שנים מחבר אני לא חושב שהסברתי את עצמי ממש נכון התכנתי לרקורסיה אבל תודה בכל מקרה
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.