با سلام و خستهنباشید به تمامی افراد زحمتکش این انجمن!
من می خوام معکوس ماتریس 3 در 3 رو بدست بیارو ولی یه خورده مشکل دارم،
اگه امکانش هست یک بزرگواری بکنید و سورسش رو برام ارسال کنید.
با تشکر فراوان :43:
با سلام و خستهنباشید به تمامی افراد زحمتکش این انجمن!
من می خوام معکوس ماتریس 3 در 3 رو بدست بیارو ولی یه خورده مشکل دارم،
اگه امکانش هست یک بزرگواری بکنید و سورسش رو برام ارسال کنید.
با تشکر فراوان :43:
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
#include<iostream.h>
#include<conio.h>
#include<math.h>
int main()
{
clrscr();
int i;
int array[3][3],copy[3][3];
cout<<"enter your array here" ;
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
cin>>array[i][j];//enter your array
cout<<"your array is"<<endl;
for(i=0;i<3;i++)
{
for(int j=0;j<3;j++)
cout<<array[i][j]<<" ";
cout<<'\n';
}
for(i=0;i<3;i++)
for(int j=0;j<3;j++)
copy[j][i]=array[i][j];
cout<<"its reciprocal is" <<endl;
for(i=0;i<3;i++)
{
for(int j=0;j<3;j++)
cout<<copy[i][j]<<" ";
cout<<endl;
}
getch();
return 0;
}
این یکی error نمیده.من فقط i رو int معرفی کردم.اصل کاری همون اولیه.
سلام خدمت شما
معکوس ماتریسی که در روند یک برنامه درایه هاش به طور لحظه ای تغییر می کند چطوری بدست می آید؟
با تشکر
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] <math.h>
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] <iomanip>
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] <stdlib.h>
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] <iostream>
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] <conio.h>
using namespace std;
int p=1;
float det(int i1,int j1,int i4,int j4,int n,float x[10][10]);
int hams(int i1,int j1,int n,float x[10][10]);
int main(){
float x[10][10],det1,y[2][2]; int n,r=1;
cout<<"Enter n for Matrix n*n: "; cin>>n;
cout<<"\nEnter "<<n*n<<" number.\n";
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++) cin>>x[i][j];
det1=det(1,1,n,n,n,x);
cout<<"Determinan x is : "<<det1<<endl;
cout<<"\nMatrix Reverse Is :"<<endl;
if(n==2) { y[1][1]=x[2][2]; y[2][2]=x[1][1]; y[1][2]=-x[1][2]; y[2][1]=-x[2][1];
for(int i=1;i<=2;i++)
for(int j=1;j<=2;j++) {
cout<<setw(8)<<setprecision(2)<<y[i][j]/det1;
if(j==2) cout<<endl;}}
else {
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++) { cout<<setw(8)<<setprecision(2)<<(hams(j,i,n,x)/det1)*r; r*=-1;
if(j==n) cout<<endl;}}
return 0;}
/*in ghesmat determinane x ra hesab mikonad */
float det(int i1,int j1,int i4,int j4,int n,float x[10][10]) {
if(n==2) {int i2,i3,j2,j3; i2=i1; j2=j4; i3=i4; j3=j1; return x[i1][j1]*x[i4][j4]-x[i2][j2]*x[i3][j3];}
float sum=0;
for(int k=j1;k<=j4;k++) {
if(k==j1) sum+=p*x[i1][k]*det(i1+1,j1+1,i4,j4,i4-i1,x);
else if(k==j4) sum+=p*x[i1][k]*det(i1+1,j1,i4,j4-1,i4-i1,x);
else sum+=p*x[i1][k]*det(i1+1,j1,i4,j4,i4-i1,x);
p*=-1; }
return sum; }
/* in ghesmat hamsaze x ra hesab mikonad */
int hams(int i1,int j1,int n,float x[10][10]) {
float z[10][10]; int k=1,l=1,s;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++) {
if(i!=i1 && j!=j1) { z[k][l]=x[i][j];
if(l==n-1) {++k; l=0;}
++l; } }
s=det(1,1,n-1,n-1,n-1,z);
return s;}
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)