• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

سورس کد ماتریس در برنامه نویسی c

cristiano7

محروم از فعالیت تجاری
محروم از فعالیت تجاری
تاریخ عضویت
11 می 2012
نوشته‌ها
584
لایک‌ها
22
سلام دوستانی که میتوننند به من کمک کنند لطفا کنند و من رو راهنمایی کنند.من 3تا پروژه دارم برای آخر ترم کی خیلی هم ساده هست ولی من بلد نیستم.تا آخر این هفته که داره میاد باید تحویل بدم.ممنون میشم که کمکم کنید.برنامه نویسی c

1-برنامه ای بنویسید که دو ماتریس n*m در یک ماتریس p*q ضرب کند.

2-برنامه بنویسید که دترمینال یک ماتریس 2*2 را حساب کند.

3-برنامه ای بنویسید که دترمینال یک ماتریس 3*3 را حساب کند.

با تشکر از همه دوستان اگه ممکن من رو کمک کنند من فقط سورسش رو میخوام که به صورت c باشه.این دومین بار هست که برنامه سازی کامپیوتر رو برمیدارم و نمیخوام این ترم هم مردود بشم.
 

>-->O

همکار بازنشسته
تاریخ عضویت
25 نوامبر 2009
نوشته‌ها
2,530
لایک‌ها
468
محل سکونت
㋡ همین جا ㋡
این سورس رو ببین برای دترمینال خیلی کمکت میکنه

کد:
#include <math.h>
#include <iomanip.h>
#include <stdlib.h>
#include <iostream.h>
#include <conio.h>
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;
if(n==1) cout<<"there is not matrix.";
else {
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;}
 

cristiano7

محروم از فعالیت تجاری
محروم از فعالیت تجاری
تاریخ عضویت
11 می 2012
نوشته‌ها
584
لایک‌ها
22
میشه یه توضیحی دربارش بدی.ممنون
 
بالا