تبسم ساینا
سه شنبه 19 آذر 1392, 21:55 عصر
سلام دوستان
من یه برنامه دارم با زبان سی که دو تا آرایه دو بعدی رو می گیره,یعنی اول تعداد سطر و ستون هر دو آرایه رو می گیره و سپس از کاربر عدد میگیره و داخل آرایه می ریزه.حالا میخوام واسه این دو تا آرایه برنامه ضرب ماتریس بنویسم,اونم داخل تابع جداگانه نه داخل تابع main
سوالم این هست که چجوری میشه یه همچین آرایه ای رو که در main تعریف کردم به تابع فرستاد؟
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;
void Zarb(int,int,int,int,int,int);
void tranahade(int,int,int);
int main()
{
int m,n,o,p,i,j,k;
printf("m=teadad satr,n=tedad soton matris A:\n");
printf("m=");
scanf("%d",&m);
printf("n=");
scanf("%d",&n);
printf("\no=teadad satr,p=tedad soton matris B:\n");
printf("o=");
scanf("%d",&o);
printf("p=");
scanf("%d",&p);
int A[m][n],B[o][p];
printf("\nmatris A[%d][%d]:\n",m,n);
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
scanf("%d",&A[i][j]);
}
printf("\n");
}
printf("\nmatris B[%d][%d]:\n",o,p);
for(int i=0;i<o;i++)
{
for(int j=0;j<p;j++)
{
scanf("%d",&B[i][j]);
}
printf("\n");
}
Zarb(m,n,o,p,A[m][n],B[o][p])
}
void zarb(int m,int n,int o,int p,int A,int B)
{
int x;
printf("\nA*B:\n");
for(int i=0;i<m;i++)
{
for(int j=0;j<p;j++)
{
x=0;
for(int k=0;k<n;k++)
{
x=x+A[i][k]*B[k][j];
}
printf("%d\t",x);
}
printf("\n");
}
}
من یه برنامه دارم با زبان سی که دو تا آرایه دو بعدی رو می گیره,یعنی اول تعداد سطر و ستون هر دو آرایه رو می گیره و سپس از کاربر عدد میگیره و داخل آرایه می ریزه.حالا میخوام واسه این دو تا آرایه برنامه ضرب ماتریس بنویسم,اونم داخل تابع جداگانه نه داخل تابع main
سوالم این هست که چجوری میشه یه همچین آرایه ای رو که در main تعریف کردم به تابع فرستاد؟
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;
void Zarb(int,int,int,int,int,int);
void tranahade(int,int,int);
int main()
{
int m,n,o,p,i,j,k;
printf("m=teadad satr,n=tedad soton matris A:\n");
printf("m=");
scanf("%d",&m);
printf("n=");
scanf("%d",&n);
printf("\no=teadad satr,p=tedad soton matris B:\n");
printf("o=");
scanf("%d",&o);
printf("p=");
scanf("%d",&p);
int A[m][n],B[o][p];
printf("\nmatris A[%d][%d]:\n",m,n);
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
scanf("%d",&A[i][j]);
}
printf("\n");
}
printf("\nmatris B[%d][%d]:\n",o,p);
for(int i=0;i<o;i++)
{
for(int j=0;j<p;j++)
{
scanf("%d",&B[i][j]);
}
printf("\n");
}
Zarb(m,n,o,p,A[m][n],B[o][p])
}
void zarb(int m,int n,int o,int p,int A,int B)
{
int x;
printf("\nA*B:\n");
for(int i=0;i<m;i++)
{
for(int j=0;j<p;j++)
{
x=0;
for(int k=0;k<n;k++)
{
x=x+A[i][k]*B[k][j];
}
printf("%d\t",x);
}
printf("\n");
}
}