الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[تنبيه - عنوان غير مناسب : ]تجميع اكواد(للعمليات على المصفوفات)

بدأه justalayoubi في 7 أبريل 2012 · 1 رد · 890 مشاهدة · في مشاريع ومسابقات القسم
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخواني ...

طلب مني استاذي كود لمنقول مصفوفه وكود اخر لمعكوس مصفوفه ومن ثم كود يضم العمليتين مع بعض في معادله كالاتي :- الدخل يكون A & B و الخرج يكون X=A.B (لم استطع ان اكتب المعادله بصوره صحيحه A منقول مصفوفه A^T اما B معكوس مصفوفهB ̅ واخيرا ال X تساوي معكوس حاصل ضرب معكوس المصفوفه و منقول المصفوفه اي ̅ ( ̅ X=(A^T.B . مع العلم اني طرحت هذا السؤال من قبل ولكن دون محاولات مني وهذه هي محاولاتي في منقول المصفوفه :-

#include<iostream>
#include<conio.h>

using namespace std;


    void main()
    {

    int a[10][10],m,n,i,j;
    cout<<"Enter number of rows: ";
    cin>>m;
    cout<<"Enter number of coloumns: ";
    cin>>n;

    if(m!=n)
    {
    cout<<"Matrix not square so Transpose not possible :(";
    }
    else
    {
    cout<<endl<<"Enter elements of matrix: "<<endl;
    for(i=0;i<m;i++)
    {
    for(j=0;j<n;j++)
    {
    cout<<"Enter element a"<<i+1<<j+1<<": ";
    cin>>a[j];
    }
    }
    cout<<endl<<"Displaying Matrix: "<<endl<<endl;
    for(i=0;i<m;i++)
    {
    for(j=0;j<n;j++)
    {
    cout<<a[j]<<" ";
    }
    cout<<endl<<endl;
    }
    cout<<endl<<"Displaying Matrix Transpose: "<<endl<<endl;
    for(i=0;i<m;i++)
    {
    for(j=0;j<n;j++)
    {
    cout<<a[j]<<" ";
    }
    cout<<endl<<endl;
    }
    }
    getch();
    }

وهذه محاولاتي في معكوس مصفوفه :

#include<iostream>
using namespace std;

# define MAX 10

void main()
{
  float a[MAX][MAX],b[MAX][MAX],c[MAX][MAX];
  float d,m;
  int i,j,k,n;
  // clrscr();
  printf("\nEnter the order of square matrix:");
  scanf("%d",&n);
  printf("\nEnter elements of matrix\n");
  for(i=0;i<n;i++)
  {
    for(j=0;j<n;j++)
	{ printf("Element at Row no:%d & Col no:%d-->",i+1,j+1);
      scanf("%f",&a[j]);
    }
  }
  for(i=0;i<n;i++)
  {
    for(j=0;j<n;j++)
    {
      if(i==j)
 b[j]=1;
 else
 b[j]=0;
    }
  }
  if(a[0][0]==0)
  {
     for(j=0;j<n;j++)
     { 
       c[0][j]=b[1][j];
       c[0][j]=a[1][j];
       a[1][j]=a[0][j];
       a[0][j]=c[0][j];
       b[1][j]=b[0][j];
       b[0][j]=c[0][j];
     }
  }

  for(i=0;i<n;i++)
  {
    d=a;
    for(j=0;j<n;j++)
    {
      a[j]=a[j]/d;
      b[j]=b[j]/d;
    }
    for(k=0;k<n;k++)
    {
       if(k!=i)
       {
  m=a[k];
  for(j=0;j<n;j++)
  {
    a[k][j]=a[k][j]-(a[j]*m);
    b[k][j]=b[k][j]-(b[j]*m);
  }
       }
    }
  }
  printf("\nInverse of matrix is:\n");
  for(i=0;i<n;i++)
  {
    for(j=0;j<n;j++)
    printf(" %f ",b[j]);
    printf("\n");
  }

}

رد علي الاخ محمد علي , اكرمه الله , بتوضيح فهمته ولكن حقيقتا لم استطيع تطبيقه في كود .

ارجوكم اخوتي من كانت لديه فكره كود لمعادلتي هذه فليساعدني بها ( كان الله في عون العبد ما كان العبد في عون اخيه) ولكم من كل الشكر والتقدير ...

تم تعديل هذه المشاركة بواسطة محمد علاء الدين في 7 أبريل 2012 في 19:35

#2

الأخ الكريم/الأخت الكريمة

السلام عليكم ورحمة الله وبركاته

مرحباً بكم في منتدى الفريق العربي للبرمجة

نود تنبيهك أن العنوان غير مناسب.

الرجاء اختيار عنوان مناسب أكثر في مواضيعك القادمة، وهذا بمثابة إشعار للأهمية.

وفي حال التكرار سيتعرض موضوعك للإغلاق والحذف!!!

قواعد المشاركة

/index.php?showtopic=29343

شاكرين لكم حُسن تعاونكم

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

مواضيع مشابهة