שאלה בתיכנות: מוגדרת רשימה מקושרת בתוך מערך כך:
האיבר הראשון נמצא בתא 0.
האיבר השני נמצא בתא שמספרו הוא האיבר בתא 0.
האיבר השני מצביע לשלישי וכן הלאה.
האיבר האחרון הוא התא בו רשום -1.
נתון שהרשימה אינה ריקה, כל ערכיה תקינים וסופיים.
השאלה: כתוב תוכנית שמחשבת את אורך הרשימה.
לדוגמא, עבור המערך: 2 1 1- 3 =A
האיבר הראשון מוגדר להיות 3, לכן האיבר השני נמצא ב[3]A וערכו 2, אז האיבר הבא נמצא ב[2]A וערכו 1, והאיבר הבא נמצא ב[1]A וערכו 1- ולכן הוא אחרון.
תשובות
הוסף תשובה
|
לצפיה בתשובות
מרץ 2017
היה לי גם את השאלה הזאת , בדוגמא הנ"ל למשל התשובה 4, (מחשבים גם את המקום האחרון שהוא -1)
1. צריך לממש פונקציה שמקבלת שתי מחרוזות מהצורה הבאה:
"HH:MM:SS"
המחרוזות מייצגות שעה- כלומר "שניה:דקה:שעה"
הפונקציה מחזירה כמה זמנים מענינים יש בין שתי המחרוזות
כאשר זמן מענין מוגדר בתור זמן שבו המחרוזת מורכבת משתי ספרות שונות בלבד החוזרות על עצמן לאורך כל המחרוזת- לדוג'
א. הפונקציה קיבלה את המחרוזת "15:15:00" ואת המחרוזת- "15:15:16" הפונקציה אמורה להחזיר 2 כי שני הזמנים המענינים הם 15:15:11 ו- 15:15:15.
ב. הפונקציה קיבלה את המחרוזת "22:22:20" ו- 22:23:20 הזמנים המענינים הם-
אני כותבת רק את השנוית- 21,22,23,24,וכו' תעשי את את המשך החשבון..
2. הפונקציה מקבלת מטריצה, ומחזירה את מס' התאים שבהם מתקיים שאם נסכום את כל התאים שבשורות מעליהם, ואת כל התאים בשורות מתחתם, נקבל את אותו סכום, וכנ"ל לגבי עמודות.
3. אני כרגע לא זוכרת אני אנסה להזכר אבל בנתיים יש לך מספיק על מה לעבוד.
4. אני מצרפת לך ת'שאלה- זה עובד חוץ ממקרי קצה שאת צריכה לחשוב עליהם, ולשנות ת'פונקציה בארבעה מקומות בלבד, א"א להוסיף או למחוק שורות
בנה פונקציה אשר מקבלת מערך של מספרים והפונקציה צריכה להחזיר האם המערך בסדר לא יורד או האם ניתן לעשות החלפה (אחת בלבד) בין שני מספרים ואז המערך יהיה בסדר לא יורד .