פורסם 2010 בנובמבר 3015 שנים שלום לכולם, כיצד לגשת בסדר המתאים לאיברים כך שאוכל להדפיס בצורה נאה מטריצת שיחלוף? מטריצת שיחלוף: במטריצה A האיבר ה-i,j ובמטריצת השיחלוף אותו מיקום מצויין ע"י j,i תודה לעוזרים
פורסם 2010 בדצמבר 115 שנים נניח שגודל כל איבר במטריצה הוא 1. אם לא (לדוגמא WORD שגודלו 2 בתים), תחליף בהודעה שלי כל 1 ב- 2.יש 2 דרכים - 1) מעבר על הערכים האפשריים ע"י הגדלה של המצביע שלך ב- 1 כל פעם:שים לב שבזיכרון מטריצה מיוצגת ע"י רצף ארוך של ערכים. כלומר - מספיק שאתה מקדם ב- 1 כל פעם אתה עובר על העמודות, וכשהגעת לסוף העמודה מספיק לך להוסיף 1 כדי לרדת שורה ולהגיע לעמודה הראשונה בה (שים לב שכדי לרדת שורה לעמודה שמתחת לעמודה הנוכחית ולא הראשונה, עלייך להוסיף את אורך השורה שלך).תחשוב איך אתה עובר קודם על עמודה (במקום קודם על שורה), ואחר כך, כשהגעת לסוף העמודה, איך אתה מגיע לאיבר הראשון בשורה.שים לב שיש כמה פתרונות אפשריים, חלקם ברורים יותר, וחלקם דורשים התחכמות מסויימת, אך חוסכים לך תנאים בלולאות שלך.2) שימוש בפקודת mov באופן הבא:mov eax, dword [ebx + ecx*4 + mem_location]אתה יכול לחפש על הפקודה הזו באינטרנט, ולחשוב כיצד להשתמש בה כדי להדפיס את מטריצת השחלוף הנדרשת.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.