2 תוכניות זהות רצות על המחשב ושניהן מדפיסות את הכתובת של הפויינטר.
הכתובות המודפסות זהות, כיצד זה אפשרי?
תשובות
הוסף תשובה
|
לצפיה בתשובות
ינואר 2024
במערכות הפעלה מודרניות נעשה שימוש בזיכרון וירטואלי כדי לנהל את מרחב הכתובות של כל תהליך.
כל תהליך (כולל שתי התכניות הנ"ל) פועל במרחב כתובות וירטואלי משלו,
ומערכת ההפעלה ממפה את הכתובות הווירטואליות אל כתובות הזיכרון הפיזיות.
אותה כתובת **וירטואלית** בשני תהליכים שונים יכולה להתמפות לכתובות פיזיות שונות. לכן, אם שתי התוכניות מדפיסות את כתובתו של אותו משתנה או אובייקט, הן עשויות להראות את אותה כתובת וירטואלית, אך בפועל הן מתייחסות למיקומים פיזיים שונים בזיכרון.
פסודו קוד:
1)מצא האיבר המינימלי
2)מצא האיבר המקסימלי, שמור אותו ותשנה אותו במערך לאיבר המינימלי
3)תעשה את צעד 2 עוד פעמיים
4)תכפיל את 3 האיברים שמצאת
נובמבר 2023
הפסודו קוד שנתנו פה עובד תמיד רק אם מבטיחים לנו שבמערך אין שליליים, מה שכתוב כאן זה פשוט למצוא את שלושת המקסימליים וברור שלא זאת הכוונה.
הנה פסודו קוד שעובד גם עם שליליים במערך:
1. תמצאי את שלושת המקסימליים ותכפילי אותם.
2. תמצאי את שני המינימליים ותכפילי אותם במקסימלי.
3. תחזירי את המקסימום מבין מכפלות 1 ו2.
למה זה נכון? תחשבו איך שלושה מספרים יכולים להתחלק לחיובים ושליליים, יש 4 אופציות כאלה(למשל שני חיוביים ושלילי).
עכשיו תחשבו איך ממקסמים כל אחת מהאופציות.
לאחר צמצום לוגי תגיעו לאלגוריתם שכתבתי.
ינואר 2024
You can sort the array in O(N Log(N)) time complexity, then, return the product of the last three elements