سلام خدمت دوستان من سورس برنامه ای به زبان ++c می خواستم که بتونه دترمینان پارامتری(شامل 3*3 و 2*2)رو حل کنه و یک ماتریس پارامتری رو در در ماتریس عددی ضرب کنه. ممنون میشم اگر کمک کنین.خیلی احتیاج دارم
به علت اینکه برای محاسبه ی دترمینان ماتریس های بزرگتر باید از فرمول بازگشتی استفاده کرد که خیلی محاسبات پیچیده ای داره و در نتیجه order(پیچیدگی زمانی) کدتون رو میبره بالا اینجا از راه حل ساده تر کد کردن فرمول دترمینان برای ماتریس مربعی درجه دو و سه استفاده کردم. برنامه برای محاسبه دترمینان:
[BLOCKQUOTE] int DetMatrix(int **matrix, int Type) { int counter = 0; try //yek error e mohtamel inja eshtebah pas kardane {
: تایپ یک int است که باید بر اساس ماتریستون یک مقدار 2 یا 3 بهش پاس کنید. بعد از else if بر اساس فرمول محاسبه دترمینان تابع ماتریس دو در دو مرتبا با مقادیر مناسب کال میشه.
پ.ن.: من این کد رو همینجا نوشتم و جایی چک یا دیباگش نکردم. در حقیقت شما میتونید به عنوان یک سودو کد ازش استفاده کنید. البته اگه خیلی خوش شانس باشید با یکمی دیباگ کردن راه می افته. [/BLOCKQUOTE]
سلام خدمت دوست عزیز اول از همه ازتون مشکرم که کمکم میکنید من فایل بالا را امتحان کردم و کاری که گفتید انجام دادم ولی درست نشد برنامه ای هم که نوشتید دو تا اشکال داره.هر کاری کردم اشکالاتش رفع نشد میشه یه لطف بزرگ کنید و اشکالاتشو بگیرید من خودم تو ++c ضعیفم.نتونستم ایرادش رو بگیرم
قطعه کد دومی، یک ماتریس قطری 3*3 پاس میشه که مقدار دترمینانش برابر یک هستش، کد رو تو کامپایلر تحت ویندوز dev-cpp تست کردم درست جواب داد. اگه با کامپایلر دیگه ای دارید کار میکنید اگه مشکلی داشت باید احتمالا یکم تغییرش بدید!
ممنون ازتون.ولی یه سوال از خدمتتون داشتم : چه جوری میشه فهمید از چه کامپایلری استفاده می کنم و یا ورژنش چیه و شما از چه کامپایلری استفاده می کنید؟ و اگر بخوام تغییرش بدم چجوری میشه؟