أولاً هذا السؤال ما دخل مزاجي لأنه فوق مستوانا جميعاً ويجيب المرض وإحنا بالعافية نمشي في الرياضيات ( تكلم عن نفسك
)،
هناك 3 أشياء رئيسية يجب حسابها في السؤال هذا حتى نجد مقلوب المصفوفة،،
أول شيء لازم تحسبي محددات المصفوفة determinant ،،
قانونه من الشكل الموجود في نفس السؤال :
كود PHP:
double determinant = array[0][0]*(array[1][1]*array[2][2]-array[2][1]*array[1][2])
-array[0][1]*(array[1][0]*array[2][2]-array[1][2]*array[2][0])
+array[0][2]*(array[1][0]*array[2][1]-array[1][1]*array[2][0]);
ثاني شيء نحسب محددات مقلوب المصفوفة inverse determinant وهيا حسب السؤال بالقانون التالي:
كود PHP:
double invdet = 1/determinant;
وأخيراً حساب المقلوب حق المصفوفة حسب الشكل الموضح في السؤال:
كود PHP:
array2[0][0] = (a[1][1]*a[2][2]-a[2][1]*a[1][2])*invdet;
array2[0][1] = -(a[0][1]*a[2][2]-a[0][2]*a[2][1])*invdet;
array2[0][2] = (a[0][1]*a[1][2]-a[0][2]*a[1][1])*invdet;
array2[1][0] = -(a[1][0]*a[2][2]-a[1][2]*a[2][0])*invdet;
array2[1][1] = (a[0][0]*a[2][2]-a[0][2]*a[2][0])*invdet;
array2[1][2] = -(a[0][0]*a[1][2]-a[1][0]*a[0][2])*invdet;
array2[2][0] = (a[1][0]*a[2][1]-a[2][0]*a[1][1])*invdet;
array2[2][1] = -(a[0][0]*a[2][1]-a[2][0]*a[0][1])*invdet;
array2[2][2] = (a[0][0]*a[1][1]-a[1][0]*a[0][1])*invdet;
خطوات حل السؤال:
1- نقوم بإنشاء مصفوفة ثنائية الأبعاد 2d array وندخل لها قيم داخل فور نستد لوب بواسطة السكانر:
كود PHP:
double[][] array = new double[3][3];
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
array[i][j] = input.nextdouble();
2- نقوم بإنشاء ميثود تستقبل المصفوفة وتقوم بإيجاد مقلوبها وننشيء داخل الميثود مصفوفة ثانية من نفس الحجم:
كود PHP:
public static double[][] inverse(double[][] array) {
double[][] array2 = new double[3][3];
3- نضع القوانين التالية حسب الترتيب داخل الميثود:
أولاً نوجد الـdeterminant ثم inverse determinant ثم مقلوب المصفوفة باستخدام القوانين الموضحة أعلاه ،،
4- نسوي return للمصفوفة الثانية array2 في آخر الميثود ،،
5- في المين ميثود نسوي مصفوفة ثانية غير المصفوفة إلي أرسلها عشان نسوي كول للميثود داخلها:
كود PHP:
double[][] result = inverse(a);
6- وأخيراً نسوي فور نستد لوب لطباعة مقلوب المصفوفة ،،
وبالتوفيق