PDA

نسخه کامل مشاهده نسخه کامل : ماتریس



maryam9903
05-06-2015, 13:22
1 برنامه نوشتم که 2 تا ماتریس دریافت کنه و حاصل جمع و ترانهاده و حاصل ضرب دو ماتریس رو چاپ میکنه.ولی دو تا اشکال داره.قسمت ترانهاده با اینکه به نظر خودم کدش درسته ولی اشتباه چاپ میکنه و اینکه من این برنامه رو برای ماتریس 3 در 3 نوشتم.اگه بخام خوده کاربر بگه ک ماتریس چن در چن باشه باید چیکار کنم؟
اینم کدی که نوشتم :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

saeed_136915
05-06-2015, 14:57
سلام تو قسمت ترانهاده اول یه کپی از ماتریس درست کنین بعد روی اون بنویسین:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

تا جایی که یادم میاد توی C نمیشه آرایه ی با سایز متغیر تعریف کرد... دوستان دیگه بهتره تو این مورد نظر بدن

mjob
26-07-2015, 14:04
سلام.
بله در C نمی توان آرایه با سایز متغیر تعریف کرد.
اما خیلی راحت در C++ میشود.
با استفاده از حافظه پویا.

n00b
26-07-2015, 20:28
سلام../// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
************
تو C میشه آرایه با سایز متغییر تعریف کرد// برای تعریف و تغییر سایز این آرایه ها می تونید از توابع malloc و calloc و realloc استفاده کنید// با استفاده از تابع free هم می تونید حافظه ای که دریافت کردید رو به سیستم برگردونید../// برای استفاده از این توابع باید فایل stdlib.h رو به برنامتون اضافه کنید../// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
****************

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
*******************
روش استفاده از تابع malloc به این صورت هستش که فضای مورد نیاز رو به این تابع ارسال می کنید مثل مثال بالا و این تابع یه اشاره گر از نوع void بر می گردونه که می تونید به اشاره گر از هر نوعی می خواید تبدیلش کنید./// تابع realloc هم مثل تابع malloc کار می کنه و برای تغییر سایز آرایه استفاده میشه// آرگومان اول اشاره گر (یا اسم آرایتون) و آرگومان دوم رو برابر اندازه جدید قرار بدید تا سایز آرایتون مطابق اندازه جدید تغییر کنه// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
**************
تابع calloc هم دقیقاً کار تابع malloc رو انجام میده// تنها تفاوتشون تو روش استفادشون هست// تابع calloc تعداد اندیس رو به عنوان آرگومان اول و اندازه هر اندیس رو به عنوان آرگومان دوم دریافت می کنه و فضای مورد نیاز رو در اختیارتون قرار میده../// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
******************
موفق باشید! [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]