السلام عليكم ورحمة الله وبركاته
أحتاج الى مساعدة في فكرة الحل وكتابة الكود للمسألة التالية
نريد كتابة برنامج بلغة الc++ يقوم بحساب معين مصفوفة مربعة بطريقة النشر وحساب الصغائر minors
حيث صغير العنصر a[i,j] في المصفوفة a هو نفس المصفوفة a بدون السطر I والعمود j
نقوم باختيار أحد الأسطر أو أحد الأعمدة ومن ثم نقوم بحساب معين الصغائر الخاصة بكل عنصر من عناصر السطر أو العمود المحدد بطريقة عودية كالتالي
( Det(a)=a[0][0]when a(1x1)
i*j
Det (a)= sum((-1)*a[j]*det(minor(a[j]))other wise
والمطلوب
أولاً
1- اكتب الاجرائية minor التي تحسب صغير مصفوفة عند عنصر منها
2- استفد من الاجرائية السابقة بكتابة الاجرائية determinant التي تقوم بحساب معين مصفوفة مربعة أبعادهاnXn
3- هل يوجد طريقة لتحديد العنصر أو العمود الأمثل الذي سنستخدمه للنشر؟ اكتب الاجرائية best choice التي توجد هذا السطر أو العمود واستخدمه في برنامجك
4- هل يمكن استخدام السلاسل الخطية لحل المسألة بطريقة توفر حجم المتحولات المحجوزة
ثانياً:
نريد كتابة حل لمسألة إيجاد حل N معادلة خطية من الدرجة الأولى ب N مجهول حيث شكل كل معادلة هو كالتالي :
A1*X1+A2*X2+---------AN*XN=B
والمطلوب :
1- اقترح طريق مناسبة لتمثيل معادلة من الشكل السابق بلغة c++
2- اكتب التابع invert matrix الذي يقوم بقلب مصفوفة مربعة
3- اكتب التابع mult matrixالذي يقوم بحساب ناتج جداء مصفوفتين (ليس بالضرورة مربعتين)
4- استفد من التابعين السابقين ومن التابع det في كتابة التابع الذي يوجد حلاً ل N معادلة ب N مجهول أخذنا بعين الاعتبار وجود جملة معادلات مستحيلة الحل أو تقبل عدد لانهائي من الحلول