lo_toda פורסם 2008 בפברואר 13 Share פורסם 2008 בפברואר 13 מערך חד מימדי ל 2ו מידי אני יודע לדוגמה יש לי 1000 פרטים ...אני ממיר את זה ל 100*100 כאשר זה היה x+y*100אורי מה קורה עם יש לי יותר מ 2 מידים נניח 4 מיימדים ?כמו חילוק של 1000 ? ל 4 מימדים ? ויותר ?איך מחשבים זה ?אני קצת לא מבין את המטדולגיה ?ברור שזה חד חד עריכי?תודה לכל העונים ...אני מתחבט בזה די הרבה זמן. קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2008 בפברואר 13 Share פורסם 2008 בפברואר 13 כל אינדקס אתה צריך לכפול בגודל תת המערך שמתחתיו.נניח יש לך שלושה מימדים:int arr[A][B][C];אז:arr[i][j][k] => arr[k+j*C+i*(B*C)]אם יש לך ארבעה:int arr[A][B][C][D]אז האינדקס הראשון כפול B*C*D, השני כפול C*D, השלישי כפול D.וכן הלאה. קישור לתוכן שתף באתרים אחרים More sharing options...
lo_toda פורסם 2008 בפברואר 13 מחבר Share פורסם 2008 בפברואר 13 א6ני מבין מה אתה כותב סבבה ...אני יבדוק את זה ...בנוסף אין אני עושה הפוך ...מ מרחב רב ממדי ל מרחב חד מימדי ?אני ממש מעריך את זה תודה ...אני חייב להגיש שאתה ממש גאון שתפסתה את זה מייד ....את הקונספט אני מתקשה להבין .... קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2008 בפברואר 13 Share פורסם 2008 בפברואר 13 לא תפסתי את זה מיד, אני פשוט יודע את זה כבר ההסבר שנתתי לך הוא ממרחב רב מימדי לחד מימדי (לפרוש את המערך). אם אתה רוצה לקפל מערך חד מימדי למערך רב מימדי, אז צריך לבצע את הפעולה ההפוכה באמצעות פעולות חילוק ומודולו (די דומה להפרדה של הספרות ממספר רב ספרתי). נניח שיש לך מערך (חד מימדי) בגודל A*B*C*D, ואתה רוצה לקפל אותו למערך תלת-מימדי במימדים,A,B,C,D, אז אתה בעצם רוצה להוציא מתוך כל אינדקס x למערך, אינדקסים i,j,k,l כך ש-(x = l+k*D+j*C*D+i*(B*C*D. על מנת להוציא את l, אתה מבצע x%D. על מנת להוציא את k, אתה מבצע x/D)%C). על מנת להוציא את j, אתה מבצע x/(D*C))%B). על מנת להוציא את j, אתה מבצע (x/(D*C*B. קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.