PDA

View Full Version : سوال: راهنمایی در مورد نحوه ارسال ماتریس به تابع



sadraee
یک شنبه 12 اردیبهشت 1389, 20:24 عصر
سلام دوستان من کد زیر را نوشتم و میخوام ماتریس رو به تابع ارسال کنم ...
اما بلد نیستم
اگه ممکنه من رو راهنمایی کنید
مرسی




int det (int *a[],int m);
main()
{
int **a,i,j,s,m;
cin>>m;
a = new int*[m];
for(i=0;i<m;i++)
{
a[i]= new int [m];
}
for(i=0;i<m;i++)
{
for(j=0;j<m;j++)
{
cin>>a[i][j];
}
}
s = det(*a[],m);
cout<<s;
}
int det (int *a[],int m)
{
if(m==1) return(a[0][0]);
if (m==2)return((a[0][0]*a[1][1])+(a[0][1]*a[1][0]));
}

yasemi
یک شنبه 12 اردیبهشت 1389, 20:43 عصر
اینجوری بنویس اولیش برای تعریف اولیه توی ++C هست

11 هم تعداد ستون ماتریس مورد نظر شماست متغیرهای دیگه هم با ارجاع به آرایه فرستادیم





void insert (int [][11],int &,int &,int &,int &);


void insert (int matrex[][11],int &zero,int &child,int &top,int &temp)
}
.
.
.
.
.
{

sadraee
یک شنبه 12 اردیبهشت 1389, 21:10 عصر
مرسی آقای یاسمی
اما من میخوام یک ماتریس n*n رو به تابع بدم و در واقع من طول ستونها رو نمیدونم که مثل شما عدد ثابت بدم
آیا راهی هست که بشه بصورت پویا اینکار رو انجام داد ؟

Salar Ashgi
یک شنبه 12 اردیبهشت 1389, 23:05 عصر
یه مثال ساده از ماتریس ها : (تابع Print یک آرایه دوبعدی را گرفته و آنرا چاپ میکند )



#include <iostream>
#include <conio>
void Print(int **a,int n,int m){
for(int i=0;i<n;i++){
for(int j=0;j<m;j++)
cout<<a[i][j]<<" ";
cout<<endl;}
}
//===============================
int main(){
int r,c;
cout<<"Enter row & col :\n";
cin>>r>>c;
int **a = new int*[r];
for(int i=0;i<r;i++)
a[i] = new int[c];
cout<<"Enter Matrix :\n";
for(int i=0;i<r;i++){
for(int j=0;j<c;j++)
cin>>a[i][j];}
cout<<"================\n";
Print(a,r,c);
getch();
}

sadraee
دوشنبه 13 اردیبهشت 1389, 20:31 عصر
سالار عزیز از شما بابت راهنمایی تون ممنونم