• 0
Luna Volver A salir

استبدال عناصر القطر الرئيسي مع عناصر القطر الثانوي في المصفوفة

سؤال

السلام عليكم

هل ممكن ان تساعدوني في تصحيح المشكلة في هذا الكود

المطلوب هو استبدال عناصر القطر الرئيسي مع عناصر القطر الثانوي

#include<iostream.h>main(){int a[5][5];int c[5],m[5];int j,i,x=0;	for(i=0;i<5;i++)  for(j=0;j<5;j++)  cin>>a[i][j];	for(i=0;i<5;i++)	{			for(j=0;j<5;j++)			{		 if(i==j)		 c[i]=a[i][j];		 if(i-j==1)		 m[i]=a[i][j];	}  }		for(i=0;i<5;i++)	{			for(j=0;j<5;j++)			{				if(i==j)				a[i][j]=c[i];				if(j-i==1)				a[i][j]=m[i];				} }  cout<<endl;	for(i=0;i<5;i++)	{  for(j=0;j<5;j++)  cout<<a[i][j]<<" ";  cout<<endl;  }  }

بليززززز هيلب مي :(

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

4 إجابة على هذا السؤال .

  • 0

عناصر القطر الرئيسي هم 1,1 و 2,2 و 3,3 و 4,4 و 5,5.

عناصر القطر الثانوي هم 1,5 و 2,4 و 3,3 و 4,2 و 5,1.

 

إذا نظرت للترتيب ستعرفي انه توجد علاقه بينهم و يمكنك إما تبديل عنصر عنصر كأن تبدلي العنصر الموجود بالمكان 5,5 بالعنصر الموجود بالمكان 5,1 أو تستخدمى مصفوفتين تضعي بكل منهم عناصر القطر الرئيسي و الثانوى و من ثم يتم التبديل دفعه واحده (هذه الطريقه اطول و تحتاج لكود اكثر).

 

 

و الله ولي التوفيق

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي اولا شكرا كبيرا لك

ثانيا هذه محاولتي لكن التنفيذ يطلع خطأ

 #include<iostream.h>							 main()							 {							 int a[4][4];							 int i,j,x=0;							 for(i=0;i<4;i++)							 for(j=0;j<4;j++)							 cin>>a[i][j];							 for(i=0;i<4;i++)							  {							 for(j=0;j<4;j++)							 {								 if(i==j)								 x=a[i][j];								 a[i][j]=a[i-j==1][i-j==1];								 a[i-j==1][i-j==1]=x;								 } }								 for(i=0;i<4;i++)							  {							 for(j=0;j<4;j++)							 cout<<a[i][j]<<" ";							 cout<<endl;							 }							 }
-1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

#include<iostream>

using namespace std;

int main()

{

int a[4][4];

int i,j=0,x=0;

int temp;

for(i=0;i<4;i++)

for(j=0;j<4;j++)

cin>>a[j];

for(i=0;i<4;i++)

{

for(j=i;j<4;j++)

{

temp=a[j];

a[j]=a[j];

a[j]=temp;

}

}

for(i=0;i<4;i++)

{

for(j=0;j<4;j++)

cout<<a[j]<<" ";

cout<<endl;

}

system("pause");

return 0;

}

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أقدم لك الحل بلغة السي ........

#include <stdio.h>

#include <stdlib.h>

#define M 3

int main(int argc, char *argv[])

{

int x[M][M],i,c,j;

// lire le matrice .

for(i=0;i<M;i++)

for(j=0;j<M;j++)

printf(" x[%d][%d] : ",i,j) ,

scanf("%d",&x[j]);

printf("\n\n");

// afficher ...

for(i=0;i<M;i++)

{

for(j=0;j<M;j++)

printf(" %d ",x[j]);

printf("\n");

}

printf("\n---------------------\n");

j=M-1;

for(i=0;i<M;i++){

c = x[j];

x[j] = x;

x = c ;

j--;

}

// afficher le resultat

for(i=0;i<M;i++)

{

for(j=0;j<M;j++)

printf(" %d ",x[j]);

printf("\n");

}

system("PAUSE");

return 0;

}

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .