PDA

View Full Version : قرار دادن یک آرایه 2 بعدی در یک آرایه یک بعدی



fazel-d
سه شنبه 07 آبان 1387, 13:23 عصر
همان طوری که در عنوان سوالم مشخص هست . می خواستم یک آرایه 2 بعدی را در یک آرایه یک بعدی قرار دهم و از طرفی بتوانم اطلاعاتی که در آرایه تک بعدی قرار دارد را به آرایه 2 بعدی تبدیل نماییم .
خلاصه مطلب اینکه :
قرار دادن آرایه 2 بعدی در تک بعدی و ریختن مقادیر آرایه تک بعدی (که شامل مقادیر آرایه 2 بعدی است ) در همان آرایه 2 بعدی
امید وارم منظورم را درست رسانده باشم
اگر برای اینکار راه حل دیگری وجود دارد ; بیان نمایید .:عصبانی++:

vcldeveloper
سه شنبه 07 آبان 1387, 17:59 عصر
اگر برای اینکار راه حل دیگری وجود دارد ; بیان نمایید .
برای کدوم کار؟! شما که فقط گفتید میخواید آرایه دو بعدی را در یک بعدی قرار بدید، چیز دیگه ایی نگفتید!


قرار دادن یک آرایه 2 بعدی در یک آرایه یک بعدی
یک Type جدید از آرایه دو بعدی درست می کنید، بعد آن را به عنوان نوع داده Elementهای آرائه یک بعدی در نظر می گیرید:


type
TArray2D = array [0..2,0..2] of integer;

var
MyArray = array [0..2] of TArray2D;

fazel-d
سه شنبه 07 آبان 1387, 18:46 عصر
حالا اگه بخوام اطلاعاتی که در آرایه تک بعدی قرار دارد را به آرایه 2 بعدی تبدیل نماییم چطور ؟

vcldeveloper
چهارشنبه 08 آبان 1387, 09:40 صبح
حالا اگه بخوام اطلاعاتی که در آرایه تک بعدی قرار دارد را به آرایه 2 بعدی تبدیل نماییم چطور ؟
متوجه سوالتون نمیشم.

fazel-d
پنج شنبه 09 آبان 1387, 10:10 صبح
برعکس قضیه که وقتی آرایه 2 بعدی رو تو تک بعدی قرار دادم حالا بتونم مثلا اندیس اول از آرایه تک بعدی رو تو 2 بعدی قرار بدم و این مسئله برای تمام خانه های آرایه تک بعدی صدق کند.

vcldeveloper
پنج شنبه 09 آبان 1387, 12:42 عصر
برعکس قضیه که وقتی آرایه 2 بعدی رو تو تک بعدی قرار دادم حالا بتونم مثلا اندیس اول از آرایه تک بعدی رو تو 2 بعدی قرار بدم و این مسئله برای تمام خانه های آرایه تک بعدی صدق کند.
همونطوری که به هر آرایه دیگه ایی مقدار میدید!


MyArr[1,1] := AnotherArr[1];

Developer Programmer
پنج شنبه 09 آبان 1387, 14:01 عصر
علی جان، فکر میکنم منظورش همون روش ذخیره سازی سطری و ستونی آرایه چند بعدی تو حافظه است که تو ساختمان داده ها بود.
یه فرمول داره ساده ریاضی داره؛ کتاب ساختمان داده های حمید رضا مقسمی کاملا توضیح داده.