PDA

View Full Version : ضرب دو ماتریس



Mobtadi_2006
چهارشنبه 10 خرداد 1385, 05:52 صبح
الگوریتم ضرب دو ماتریس

abdollahashjaa
چهارشنبه 10 خرداد 1385, 06:41 صبح
سلام
دو حلقه داخل هم یکی برای حرکت روی ستون ها و یکی برای سطر ها بقیه اش هم که خودت میدونی
موفق باشید

bahram_222222
دوشنبه 15 خرداد 1385, 23:03 عصر
#include <stdio.h>
#include <conio.h>
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[i][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[i][j]) ;
}
//multiply mat1 by mat2
for(i=0 ; i<2 ; i++)
for(j=0 ; j<4 ;j++) {
mat3[i][j]=0 ;
for(k=0 ;k<3 ; k++)
mat3[i][j] = mat3[i][j]+mat1[i][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[i][j]) ;
printf("\n") ;
}
getch();
return 0;
}

mohandese_hiclass
جمعه 19 خرداد 1385, 21:37 عصر
آقای بهرام اینی که شما نوشتید برنامه هست نه الگوریتم سعی کنید به جای سورس شبه کد بنویسید تا فرد سوال کننده با سلیقه خودش کد بنویسه و روش هم کمی فکر کنه البته من این حرفو به خاطر کسی میگم که سوالو پرسیده
http://www.algorithmnevis.com/forum/index.php?topic=7.0

Sunny Girl
شنبه 15 فروردین 1388, 16:26 عصر
#include <stdio.h>
#include <conio.h>
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[i][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[i][j]) ;
}
//multiply mat1 by mat2
for(i=0 ; i<2 ; i++)
for(j=0 ; j<4 ;j++) {
mat3[i][j]=0 ;
for(k=0 ;k<3 ; k++)
mat3[i][j] = mat3[i][j]+mat1[i][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[i][j]) ;
printf("\n") ;
}
getch();
return 0;
}





سلام
میشه لطفا الگوریتم (نه برنامه) ضرب دو ماتریس رو هم بنویسید؟ من این سوال رو مطرح کردم و مدیر بخش من رو به این قسمت ارجاع دادن، اما من الگوریتم فارسی رو میخوام :ناراحت:

pesar irooni
سه شنبه 18 فروردین 1388, 14:22 عصر
کل الگوریتم همین هستش
فرض میکنیم ماتریس اول با ابعاد n*k و ماتریس دوم با ابعاد k*m باشد که حاصل ماتریسی میشود با ابعاد n*m که هر درایه آن به این صورت به دست آمده "سطر i ام ضرب در ستون j ام" که در خط آخر الگوریتم بوضوح مشاهده میشود.

for i=1 to n
for j=1 to m
for L=1 to K
mat3[i,j] = mat3[i,j] + mat1[i,L] * mat2[L,j]

mohammadnkh
چهارشنبه 26 فروردین 1388, 13:50 عصر
سلام لطفا" الگوریتم برنامه فرودگاه(landweber) رو بنویسید!
با تشکر...