PDA

View Full Version : ماتریس



سعید سلیمی نیا
شنبه 24 آذر 1386, 11:32 صبح
با تشکر و سلام.
لطفا برنامه ای برای جمع دو ماتریس و جابجایی سطر n ام باسطر m ام وجمع عناصر یک سطر به ما ارایه ذهید با ارزوی موفقیت:لبخندساده:

404_3140
شنبه 24 آذر 1386, 13:04 عصر
اینجا کسی برای دیگری کد رو مستقیم نمی نویسه. اگه خودتون سعی کردید و نشده می شه سوال رو پرسید و راهنمایی خواست نه اینکه فقط درخواست یه کد آماده کرد:چشمک:

setarehjoon
شنبه 25 خرداد 1387, 10:17 صبح
سلام
من ضربو جمه و ترانهاده و معکوس و دترمینال ماتریس و نوشتم اما اشکال داره کدم و می گذارم یکی از دوستان برام تا هرجا که تونست درستش کنه

setarehjoon
شنبه 25 خرداد 1387, 10:19 صبح
ایناهاش این کدم میشه واسم درستش کنین

#include <stdio.h>

#include <conio.h>
int main()
{
char op;
int flag=1;
int i,j,k,l,B=1;
int a=0;
int b=0;
int c=1;
float mat1[3][3],mat2[3][3],mat3[3][3]={0};

for(i=0;i<3;i++)
for(j=0;j<3;j++){
printf("Enter mat1[%d][%d]:",i,j);
scanf("%f",&mat1[i][j]);
}
for(i=0;i<3;i++)
for(j=0;j<3;j++){
printf("enter mat2[%d][%d]:",i,j);
scanf("%d",&mat2[i][j]);
}
while(flag)
{
printf("\n enter operator:=");
op=getche();
switch(op){

case'*':
for(i=0;i<3;i++)
for(j=0;j<3;j++){

mat3[i][j]=0;
for(k=0;k<3;k++)
mat3[i][j]=((mat3[i][j]+mat1[i][k])*mat2[k][i]);
}
printf("\n the produc of mat1&mat2");
printf("is:\n\n");
for(i=0;i<3;i++){
for(j=0;j<3;j++)
printf("\n %5d",mat3[i][j]);
}
break;

case'+':

for(i=0;i<3;i++)
for(j=0;j<3;j++)

{mat3[i][j]=((mat1[i][j])+(mat2[i][j]));
}
printf("\n the sum product of mat1&mat2 is");
for(i=0;i<3;i++)
for(j=0;j<3;j++){
printf("\n %5d",mat3[i][j]);
}
break;

case't':
for(i=0;i<3;i++)
for(j=0;j<3;j++){
if(i==0 && j==0){
mat3[i][j]=mat1[i][j];
}
else
{
mat3[i][j]=mat1[i-1][j+1];
}
}
printf("\n the taranohade of mat1 is");
for(i=0;i<3;i++)
for(j=0;j<3;j++){
printf("%5d,mat2[i][j]");
}
break;

case 'd':
for(i=0;i<3;i++)
for(j=0;j<3;j++) {
if(j!=i && j<i){
mat1[i][j]=(mat1[i][j]-mat1[i][j]);
}
else{
mat1[i][j]=mat1[i][j];
}
}

for(i=0;i<3;i++)
for(j=0;j<3;j++){
if(i==j)
B=(mat1[i][j]*mat1[i][j])*B;
}
printf("\n the determinal of mat1 is");
printf("%d",B);


break;

case 'v':

for (i=0;i<=2;i++)
for (j=0;j<=2;j++) {
mat1[i][j]=0;
}

for (i=0;i<=3;i++)
for (j=0;j<=3;j++) {
mat1[i][j]=c;
c++;
}



for (i=3;i>=0;i--)
{
b=0;
for (j=3;j>=0;j--)
{
mat2[i][j]=mat1[a][b];
b++;
}
a++;
}


for (i=0;i<=3;i++)

for (j=0;j<=3;j++) {
printf( "\n 3%d",mat2[i][j]);
printf("\n \n");
}
break;
difault:
printf("\n operator is illegal");
printf("\n press a kay to end");
flag=0;
}/* End Of Swich*/
}
getche();


/*End Of While*/

return 0;


}