PDA

View Full Version : سوال: آرایه های سه بعدی در C



vb8334
دوشنبه 11 مرداد 1389, 15:51 عصر
با سلام به تمامی دوستان

فرض کنید یک آرایه 3 بعدی که دارای n سطر و m ستون و p ارتفاع می باشد در صورتی
که ذخیره سازی آرایه دستور در حافظه به صورت آرایه ی سطری و ستونی انجام شود
محل خانه [a[i][j][k
به چه صورت می باشد

سوالات من :

1-منظورش از ذخیره سازی آرایه دستور در حافظه به صورت آرایه ی سطری و ستونی انجام شود چیه ؟

2-این سوال از ما محل خونه های [a[i][j][k رو می خواد یا...؟


توجه : دوستان من نمیخوام این رو کسی برام حل کنه می خوام کمکم کنید تا خودم حل کنم


ممنون

PC2st
دوشنبه 11 مرداد 1389, 17:29 عصر
1-منظورش از ذخیره سازی آرایه دستور در حافظه به صورت آرایه ی سطری و ستونی انجام شود چیه ؟
فکر می‌کنم منظورش این است که فرض کنیم که اگر p همان ارتفاع آرایه باشد، مقادیر موجود در ارتفاع (اعضای p) بصورت سطری و ستونی در کنار سایر اعضا قرار گیرد (یعنی ۲ بعدی در حافظه قرار گیرد، به جای آنکه ۳ بعدی در حافظه ذخیره شود). در زبان C و ++C همهٔ اعضای آرایه (n بعدی) در ۱ بعد و بصورت سطری در حافظه قرار می‌گیرند.


2-این سوال از ما محل خونه های [a[i][j][k رو می خواد یا...؟
در این سوال، از ما محل خانه‌ای از ماتریس سطری و ستونی (۲ بعدی) در حافظه را که معادل همان خانه در سطر iام و در ستون jام و در ارتفاع kام (در حالت ۳ بعدی) قرار دارد را می‌خواهد بپرسد.

من فکر می‌کنم منظور سوال این بوده است.

vb8334
دوشنبه 11 مرداد 1389, 17:59 عصر
ممنون دوست عزیز از اینکه پاسخ دادین

پس حل کلی سوال میشه خروجی اعدادی که از ما توی خونه های i,j,k می خواد

ممنون

salehi56
سه شنبه 16 فروردین 1390, 09:55 صبح
با سلام
فرمول بدست آوردن آدرس آرایه سه بعدی رو میخوام ممنون .

shahmohammadi
سه شنبه 30 فروردین 1390, 01:03 صبح
سلام


فرمول بدست آوردن آدرس آرایه سه بعدی رو میخوام ممنون .

int i[2][3][4];

خانه ها به ترتيب در حافظه(از چپ به راست بخوانيد)

0,0,0 --- 0,0,1 --- 0,0,2 --- 0,0,3 --- 0,1,0 --- 0,1,1 --- ... --- 0,1,3
0,2,0 --- ... --- 0,2,3 --- ... --- 1,2,3