Tiyana
جمعه 08 آذر 1392, 20:35 عصر
سلام دوستان من برنامه ی زیر رو برای ضرب دو ماتریس نوشتم که به خوبی اجرا میشه ولی میخوام برنامه رو جوری بنویسم که کاربر سطر و ستون رو مشخص کنه اما راهی براش پیدا نکردم چون به نظرم از متغیر یک تابع نمیتونیم در تابع های دیگه استفاده کنیم(البته استاتیک رو شک دارم)
کسی نظری داره کمکم کنه؟
#include<stdio.h>
#include<conio.h>
const int ar=2,ac=3,br=3,bc=4;
int mat1[2][3],mat2[3][4],mat3[2][4];
int input();
void output();
void mult();
int main()
{
output();
getch();
return 0;
}
//************************************************** ********
int input()
{
int i,j;
for(i=0;i<ar;i++)
for(j=0;j<ac;j++)
{
printf("Enter mat1[%d][%d]:",i+1,j+1);
scanf("%d",&mat1[i][j]);
}
for(i=0;i<br;i++)
for(j=0;j<bc;j++)
{
printf("Enter mat2[%d][%d]:",i+1,j+1);
scanf("%d",&mat2[i][j]);
}
}
//************************************************** ********
void mult()
{
int i,j,k;
input();
for(i=0;i<ar;i++)
{
for(j=0;j<bc;j++)
{
mat3[i][j]=0;
for(k=0;k<ac;k++)
mat3[i][j]=mat3[i][j]+mat1[i][k]*mat2[k][j];
}}
}
//************************************************** **********
void output()
{
int i,j;
mult();
printf("\nThe produce of mat1 & mat2 is:\n\n");
for(i=0;i<ar;i++)
{
for(j=0;j<bc;j++)
printf("%5d",mat3[i][j]);
printf("\n");
}
}
//************************************************** **********
کسی نظری داره کمکم کنه؟
#include<stdio.h>
#include<conio.h>
const int ar=2,ac=3,br=3,bc=4;
int mat1[2][3],mat2[3][4],mat3[2][4];
int input();
void output();
void mult();
int main()
{
output();
getch();
return 0;
}
//************************************************** ********
int input()
{
int i,j;
for(i=0;i<ar;i++)
for(j=0;j<ac;j++)
{
printf("Enter mat1[%d][%d]:",i+1,j+1);
scanf("%d",&mat1[i][j]);
}
for(i=0;i<br;i++)
for(j=0;j<bc;j++)
{
printf("Enter mat2[%d][%d]:",i+1,j+1);
scanf("%d",&mat2[i][j]);
}
}
//************************************************** ********
void mult()
{
int i,j,k;
input();
for(i=0;i<ar;i++)
{
for(j=0;j<bc;j++)
{
mat3[i][j]=0;
for(k=0;k<ac;k++)
mat3[i][j]=mat3[i][j]+mat1[i][k]*mat2[k][j];
}}
}
//************************************************** **********
void output()
{
int i,j;
mult();
printf("\nThe produce of mat1 & mat2 is:\n\n");
for(i=0;i<ar;i++)
{
for(j=0;j<bc;j++)
printf("%5d",mat3[i][j]);
printf("\n");
}
}
//************************************************** **********