مرحبا :
انا عندي مصفوفة mفيn واريد معرفة كيف الشرط الدي يجب اعمله عندما اريد ان اعرف القطر الرئيسي اللي هو(a11,a22,a33....)يساوي واحد اريد ان اعرف ما هو الشرط الازم عمله لمعرفة القطر الرئيسي <_< فأرجو ان تكونو فهمتو سؤالي وشكرا
مرحبا :
انا عندي مصفوفة mفيn واريد معرفة كيف الشرط الدي يجب اعمله عندما اريد ان اعرف القطر الرئيسي اللي هو(a11,a22,a33....)يساوي واحد اريد ان اعرف ما هو الشرط الازم عمله لمعرفة القطر الرئيسي <_< فأرجو ان تكونو فهمتو سؤالي وشكرا
اولا اذا كان الm و n غير متساويتان فلن يكون هناك قطر a11, a22, a33 ...
يجب ان يكون n تساوي m
int flag=1;
for (int i=0; i<n; i++)
{
if(matrix != 1)
{
flag =0;
break;
}
}
if(flag) //The matrix is all ones in Diagonal
{
}
else // The matrix is not all ones in diagonal
{
}Sr. Software Development Engineer
Hulu, LLC
My Blogs
مرحبا: شكرا اليك كتير علي المساعده وبارك الله فيك
طيب معليش سؤال تاني طيب كيف اعرف المتلت العلوي والمتلت السفلي من المصفوفه مشان اعمل عليهم شروط متل لو كان المتلتين متساوين او لو كان كل رقم 1 في المتلت العلوي يقابله 0 في المتل السفلي فكيف ممكن اعمل هذا وشكراكتير :)
مرحبا:
ما في حدا رد علي سؤالي يريت تردو علي اذا امكن ذالك وشكرا
السلام عليكم ورحمة الله وبركاته
لدينا هذا البرنامج
#include<iostream.h>
#define n 4 /*الإعلان عن حجم المصفوفة*/
main()
{
int a[n][n]= {5,9,7,4
2,3,3,4
5,4,6,2
8,4,2,1};
int i,j;
for(i=0;i<n;i++){ /*تكرار الصفوف*/
for(j=0;j<n;j++){ /*تكرار الأعمدة*/
if(i==j) break; /*إذا وصل إلى القطر الأساسي ينزل إلى الصف التالي*/
if(a[j]==a[j]){/*شرط تساوي القيم المتناظرة حول القطر الأساسي*/
/*هناتكتب الكود*/
}
}
}
}لاختبار عناصر المثلث العلوي إذا كانت تساوي x (x تساوي أي قيمة عددية)
for(i=0;i<n;i++){ /*تكرار الصفوف*/
for(j=0;j<n;j++){ /*تكرار الأعمدة*/
if(i<j) break; /*إذا تعدى القطر الأساسي يبدأ الاختبار*/
if(a[j]==x){
/*هنا تكتب الكود*/
}
}
}
}لاختبار عناصر المثلث السفلي إذا كانت تساوي x (x تساوي أي قيمة عددية)
for(i=0;i<n;i++){ /*تكرار الصفوف*/
for(j=0;j<n;j++){ /*تكرار الأعمدة*/
if(i==j) break; /*إذا وصل إلى القطر الأساسي
ينزل إلى الصف التالي*/
if(a[j]==x){
/*هنا تكتب الكود*/
}
}
}لو كان كل رقم 1 في المثلث العلوي يقابله 0 في المثلث السفلي
for(i=0;i<n;i++){ /*تكرار الصفوف*/
for(j=0;j<n;j++){ /*تكرار الأعمدة*/
if(i==j) break;
if(a[j]==0 && a[j]==1){
/*هناتكتب الكود*/
}
}
}يوجد خطأ في الكود السابق الخاص بـ
اختبار عناصر المثلث العلوي إذا كانت تساوي x (x تساوي أي قيمة عددية)
for(i=0;i<n;i++){ /*تكرار الصفوف*/
for(j=0;j<n;j++){ /*تكرار الأعمدة*/
if(i<j); /*إذا تعدى القطر الأساسي يبدأ الاختبار*/
if(a[j]==x){
/*هنا تكتب الكود*/
}
}
}
}حيث لاتوجد break
ملاحظة:
لإيجاد نضير عنصر حول القطر الأساسي فإننا فقط نقلب عنوان العنصر
فمثلاً إذا كان لدينا العنصر
a[1][0]
فإن نضيره هو
a[0][1]
مرحبا شكرا كتير يا استاد وتسلم علي الرد وعلي الايجايات والشرح تبعها والله يباركلك وشكرا
هذا الموضوع مغلق.