چهارشنبه, 19 اسفند 1394 15:30

الگوریتم محاسبه کهاد (minor) یک ماتریس

نوشته شده توسط
این مورد را ارزیابی کنید
(0 رای‌ها)

الگوریتم

در این مطلب آموزشی از سری آموزش الگوریتم بهگذر ابتدا الگوریتم محاسبه کهاد (minor) یک ماتریس را برای حل توسط کامپیوتر طراحی و سپس نمونه کد آن را برای زبان برنامه نویسی سی شارپ C# پیاده سازی می کنیم.

در االگوریتم محاسبه کهاد (minor) یک ماتریس در واقع می خواهیم یک ماتریس و یک سطر و یک ستون را از کاربر دریافت و کهاد (minor) آن را محاسبه کرده و به وی نمایش دهیم. کهاد ماتریس A ماتریسی است که از حذف سطر i ام و ستون j ام ماتریس A به دست می آید.  طرح این الگوریتم برای کامپیوتر به شرح زیر است:

 

1) شروع

2) یک ماتریس n×n بخوان و در متغیر a قرار بده.

2) یک ماتریس n-1×n-1 ایجاد کن و در متغیر m قرار بده.

3) سطر ماتریس را بخوان و در متغیر r قرار بده.

4) ستون ماتریس را بخوان و در متغیر c قرار بده.

5) مقدار صفر را در متغیر i قرار بده.

6) مقدار صفر را در متغیر j قرار بده.

7) اگر i != r و j != c به مرحله 8 برو در غیر این صورت به مرحله 16 برو.

8) مقدار a[i, j] را در متغیر val قرار بده.

9) اگر i < r است به مرحله 10 برو و در غیر این صورت به مرحله 13 برو.

10) اگر j < c است به مرحله 11 برو و در غیر این صورت به مرحله 12 برو.

11) مقدار val را در m[i , j] بگذار و به مرحله 16 برو.

12) مقدار val را در m[i , j - 1] بگذار و به مرحله 16 برو.

13) اگر j < c است به مرحله 14 برو و در غیر این صورت به مرحله 15 برو.

14) مقدار val را در m[i - 1 , j] بگذار و به مرحله 16 برو.

15) مقدار val را در m[i - 1 , j - 1] ب بگذار و به مرحله 16 برو.

16) یک واحد به متغیر j اضافه کن.

17) اگر مقدار متغیر j از تعداد ستون های ماتریس A کوچکتر است به مرحله 7 برو.

18) یک واحد به متغیر i اضافه کن.

19) اگر مقدار متغیر i از تعداد سطرهای ماتریس A کوچکتر است به مرحله 6 برو.

20) ماتریس m را بعنوان کهاد ماتریس a نمایش بده.

21) پایان

 

نکته: در نمونه کد زیر برای ذخیره عناصر یک ماتریس از یک آرایه دو بعدی استفاده است. چنانچه بخواهیم در عناصر ماتریس از اعداد اعشاری استفاده کنیم می بایست متغیر ها را از نوع double تعریف کنیم.

 

نمونه کد C# بر برای الگوریتم محاسبه کهاد (minor) یک ماتریس

 

double[,] a = { { 3, 1, 5 }, { 2, 5, 4 }, { 6, 1, 7 } };

double[,] m = new double[2,2];

int r = 0;

int c = 1;

for (int i = 0; i < a.GetLength(0); i++) {

for (int j = 0; j < a.GetLength(1); j++) {

if (i != r && j != c) {

double val = a[i, j];

if (i < r) {

if (j < c)

m[i, j] = val;

else

m[i, j - 1] = val;

}

else {

if (j < c)

m[i - 1, j] = val;

else

m[i - 1, j - 1] = val;

}

}

}

}

for (int i = 0; i < m.GetLength(0); i++) {

for (int j = 0; j < m.GetLength(1); j++)

Console.Write(m[i, j] + "\t");

Console.WriteLine();

}

 

توجهtrong>: نمونه کد های بالا در پروژه ی ConsoleApplication نوشته شده است.

 

همچنین بخوانید


الگوریتم ماگزیموم دو عدد

الگوریتم ماگزیموم سه عدد

الگوریتم چهار عدد اصلی

الگوریتم روزهای هفته

الگوریتم مساحت و محیط مستطیل

الگوریتم مساحت و محیط دایره

الگوریتم مساحت مثلث

الگوریتم مساحت و حجم کره

الگوریتم جا به جا کردن مقادیر دو متغیر

الگوریتم ترتیب نزولی سه عدد

الگوریتم مجموع و میانگین پنج عدد

الگوریتم تبدیل سانتیگراد به فارنهایت

الگوریتم تبدیل فارنهایت به سانتیگراد

الگوریتم تعیین قائم الزاویه بودن مثلث

الگوریتم ریشه های معادله درجه دوم

الگوریتم محاسبه بیمه و مالیات حقوق یک کارمند

الگوریتم محاسبه حقوق یک کارمند بر اساس ساعت کار

الگوریتم محاسبه مالیات با درصدهای مختلف

الگوریتم تعیین هزینه تلگراف

الگوریتم مجموع 20 عدد

الگوریتم جمع دو ماتریس

الگوریتم تفریق دو ماتریس

الگوریتم ضرب داخلی یا ضرب نقطه ای (dot product) دو ماتریس

الگوریتم ضرب یک عدد حقیقی (scalar) در یک ماتریس

الگوریتم محاسبه ترانهاده (transpose) یک ماتریس

الگوریتم محاسبه دترمینان (determinant) یک ماتریس 2×2

الگوریتم محاسبه کهاد (minor) یک ماتریس

بازدید 2941 بار آخرین ویرایش در چهارشنبه, 19 اسفند 1394 16:40

اضافه کردن نظر


کد امنیتی
تازه سازی

جدیدترین های آندروید

جدیدترین های آموزش زبان فرانسوی

جدیدترین های آموزش زبان انگلیسی

جدیدترین های صوتی

جدیدترین های ویندوزفون

جدیدترین های الگوریتم

جدیدترین های آموزش PHP

جدیدترین های پیامک

ورود

رضایت از بهگذر را به گوش گوگل برسانید
Web Analytics

بیشتر بخوانید

آموزش نحوه بازیابی Contact و شماره های حذف شده از تلگرام

در این آموزش شما را با یکی از روش های حفظ حریم خصوصی در تلگرام آشنا خواهیم کرد. اگر دوست ندارید زمانی که گوشی شما دست دیگران است از محتویات گفتگو های شما در برنامه تلگرام مطلع شوند این آموزش را دنبال کنید. در این آموزش شما یاد خواهید گرفت که چگونه برنامه تلگرام خود را با استفاده از یک رمز چهار رقمی قفل نمایید.

بیشتر بخوانید

بیشتر بخوانید

Windows Phone Lumia 

برای خریداران گوشی های تلفن همراه بسیار مهم است که بدانند آیا گوشی که در حال خریدن آن هستند براستی نو و دست اول یا به اصطلاح آکبند هست و یا یک گوشی کارکرده را با عنوان گوشی نو خریداری می کنند. به همین منظور تصمیم گرفتیم تا در این آموزش ترفندی را به شما معرفی کنیم که با انجام دادن آن می توانید از نو بودن و صحت مشخصه ی گوشی با سیستم عامل WP9 - از خانواده لومیا (Lumia) - که در حال خریدن آن هستید باخبر شوید.

بیشتر بخوانید

الگوریتم

در این مطلب آموزشی ابتدا الگوریتم ترتیب نزولی سه عدد را برای حل توسط کامپیوتر طراحی و سپس نمونه کد آن را برای زبان های برنامه نویسی سی شارپ C# و وی بی دات نت VB.NET پیاده سازی می کنیم.

رضایت از بهگذر را به گوش گوگل برسانید