شبه کد ضرب 3 ماتریس را میخواستم. لطفا اگر کسی میتونه کمک کنه، خیلی ممنون میشم.:gol:
david777 عضو جدید Mar 3, 2013 #1 شبه کد ضرب 3 ماتریس را میخواستم. لطفا اگر کسی میتونه کمک کنه، خیلی ممنون میشم.
iaidin عضو جدید Mar 21, 2013 #2 david777 گفت: شبه کد ضرب 3 ماتریس را میخواستم. لطفا اگر کسی میتونه کمک کنه، خیلی ممنون میشم. کلیک کنید تا باز شود... دوست عزیز سوالتون مبهم هست. منظورتون این هست که سه تا ماتریس را در هم ضرب کنیم؟اگه پاسختون مثبته خوب کافیه دو تا ماتریس را ابتدا ضرب کنیم و در نهایت حاصل را ضرب در سومی کنیم. اگه منظورتون مساله دیگری است توضیح بدید.
david777 گفت: شبه کد ضرب 3 ماتریس را میخواستم. لطفا اگر کسی میتونه کمک کنه، خیلی ممنون میشم. کلیک کنید تا باز شود... دوست عزیز سوالتون مبهم هست. منظورتون این هست که سه تا ماتریس را در هم ضرب کنیم؟اگه پاسختون مثبته خوب کافیه دو تا ماتریس را ابتدا ضرب کنیم و در نهایت حاصل را ضرب در سومی کنیم. اگه منظورتون مساله دیگری است توضیح بدید.
david777 عضو جدید Mar 22, 2013 #3 ضرب سه ماتریس ضرب سه ماتریس For(i=0;i<m;i++) For(j=0;j<p;j++) { D[j]=0; For(k=0;jk<n;k++) D[j]=d[j]+a[k]*b[k][j]; } } بعد دوباره همین کد واسه ضرب بعدی تکرار کنم منظورتون اینه؟
ضرب سه ماتریس ضرب سه ماتریس For(i=0;i<m;i++) For(j=0;j<p;j++) { D[j]=0; For(k=0;jk<n;k++) D[j]=d[j]+a[k]*b[k][j]; } } بعد دوباره همین کد واسه ضرب بعدی تکرار کنم منظورتون اینه؟
iaidin عضو جدید Mar 22, 2013 #4 david777 گفت: For(i=0;i<m;i++) For(j=0;j<p;j++) { D[j]=0; For(k=0;jk<n;k++) D[j]=d[j]+a[k]*b[k][j]; } } بعد دوباره همین کد واسه ضرب بعدی تکرار کنم منظورتون اینه؟ کلیک کنید تا باز شود... بله. البته کد شما ظاهرا نیاز به یکم اصلاح داره. به عنوان مثال برای سی پلاس پلاس را من کدش را میگذارم براتون. int main() { int mat1[2][3], mat2[3][4], mat3[2][4]={0} ; int i,j,k,l ; clrscr(); //read mat1 for(i=0 ; i<2 ; i++) for(j=0 ; j<3 ;j++) { printf("tenter mat1[%d][%d]: ",i,j); scanf("%d",&mat1[j]) ; } //read mat2 for(i=0 ; i<3 ; i++) for(j=0 ; j<4 ;j++) { printf("enter mat2[%d][%d]: ",i,j); scanf("%d",&mat2[j]) ; } //multiply mat1 by mat2 for(i=0 ; i<2 ; i++) for(j=0 ; j<4 ;j++) { mat3[j]=0 ; for(k=0 ;k<3 ; k++) mat3[j] = mat3[j]+mat1[k]*mat2[k][j]; } printf("\n the produc of mat1 & mat2") ; printf(" is :\n\n") ; for(i=0 ;i<2 ;i++) { for(j=0 ; j<4 ;j++) printf("%5d", mat3[j]) ; printf("\n") ; } getch(); return 0;
david777 گفت: For(i=0;i<m;i++) For(j=0;j<p;j++) { D[j]=0; For(k=0;jk<n;k++) D[j]=d[j]+a[k]*b[k][j]; } } بعد دوباره همین کد واسه ضرب بعدی تکرار کنم منظورتون اینه؟ کلیک کنید تا باز شود... بله. البته کد شما ظاهرا نیاز به یکم اصلاح داره. به عنوان مثال برای سی پلاس پلاس را من کدش را میگذارم براتون. int main() { int mat1[2][3], mat2[3][4], mat3[2][4]={0} ; int i,j,k,l ; clrscr(); //read mat1 for(i=0 ; i<2 ; i++) for(j=0 ; j<3 ;j++) { printf("tenter mat1[%d][%d]: ",i,j); scanf("%d",&mat1[j]) ; } //read mat2 for(i=0 ; i<3 ; i++) for(j=0 ; j<4 ;j++) { printf("enter mat2[%d][%d]: ",i,j); scanf("%d",&mat2[j]) ; } //multiply mat1 by mat2 for(i=0 ; i<2 ; i++) for(j=0 ; j<4 ;j++) { mat3[j]=0 ; for(k=0 ;k<3 ; k++) mat3[j] = mat3[j]+mat1[k]*mat2[k][j]; } printf("\n the produc of mat1 & mat2") ; printf(" is :\n\n") ; for(i=0 ;i<2 ;i++) { for(j=0 ; j<4 ;j++) printf("%5d", mat3[j]) ; printf("\n") ; } getch(); return 0;