PDA

View Full Version : مبتدی: آرابه



rasool94
دوشنبه 04 خرداد 1394, 18:14 عصر
سلام دوستان برنامه زیر برای جمع دو ماتریس با تابع هست.اما چطوری میشه که ماتریس 3*3 رو از ورودی دریافت کنیم..در صورتی که در برنامه زیر خودش از قبل مقدار دهی شده

#include<stdio.h>#include<conio.h>
void show_matrix(int mat[3][3]);
void add_matrix(int matA[3][3], int matB[3][3], int matSum[3][3]);
int main()
{
int x[3][3] = { {1,2,3}, {4,5,6}, {7,8,9} };
int y[3][3] = { {1,4,7}, {2,5,8}, {4,1,2} };
int z[3][3];
add_matrix(x,y,z);
printf("\nFirst matrix is :\n");
show_matrix(x);
printf("\nSecond matrix is :\n");
show_matrix(y);
printf("\nNew addition matrix is :\n");
show_matrix(z);
getch();
return 0;
}




void add_matrix(int matA[3][3], int matB[3][3], int matSum[3][3])
{
int r,c;
for(r=0; r<3; r++)
{
for(c=0; c<3; c++)
matSum[r][c]=matA[r][c]+matB[r][c];
}
}




void show_matrix(int mat[3][3])
{
int r,c;
for(r=0; r<3; r++)
{
for(c=0; c<3; c++)
printf(" %d",mat[r][c]);
printf("\n");
}
}

hoseinharami
دوشنبه 04 خرداد 1394, 18:33 عصر
ورودی ها رو بجای همون مقادیر بگیر دیگه
int x[3][3] = { {1,2,3}, {4,5,6}, {7,8,9} }; int y[3][3] = { {1,4,7}, {2,5,8}, {4,1,2} };

rasool94
دوشنبه 04 خرداد 1394, 18:55 عصر
دوستان یکی لطف میکنه کد رو واسم تغییر بده من خیلی مبتدی هستم لطفا!!!

rasool94
دوشنبه 04 خرداد 1394, 19:16 عصر
تو این همه برنامه نویس یکی نیست این کد رو ویرایش کنه؟؟؟؟؟؟؟؟؟؟؟؟/

stackprogramer
دوشنبه 04 خرداد 1394, 19:18 عصر
درود یک راهنمایی می کنم،برای این کار اول یک ماتریس 3در 3 تعریف کن

int x[3][3];for(i=1;i<4;i++){for(j=1;i<4;j++){x[i][j]=cin>>"enter entry matrix"}}
پس دیگه تمامه کار،یک حلقه فور دومرحله ای،بعد تکتک هم بخون به ماتریس ریخته می شه:متفکر:

stackprogramer
دوشنبه 04 خرداد 1394, 19:23 عصر
#include<stdio.h>#include<conio.h>
void show_matrix(int mat[3][3]);
void add_matrix(int matA[3][3], int matB[3][3], int matSum[3][3]);
int main()
{int i,int j;
int x[3][3] ;
int y[3][3] ;
int z[3][3];
for(i=1;i<4;i++){
for(j=1;i<4;j++){
x[i][j]=scanf("enter entry matrix,%d");
}
}
for(i=1;i<4;i++){
for(j=1;i<4;j++){
y[i][j]=scanf("enter entry matrix,%d");
}
}
add_matrix(x,y,z);
printf("\nFirst matrix is :\n");
show_matrix(x);
printf("\nSecond matrix is :\n");
show_matrix(y);
printf("\nNew addition matrix is :\n");
show_matrix(z);
getch();
return 0;
}




void add_matrix(int matA[3][3], int matB[3][3], int matSum[3][3])
{
int r,c;
for(r=0; r<3; r++)
{
for(c=0; c<3; C++‎‎‎‎‎‎‎)
matSum[r][c]=matA[r][c]+matB[r][c];
}
}




void show_matrix(int mat[3][3])
{
int r,c;
for(r=0; r<3; r++)
{
for(c=0; c<3; C++‎‎‎‎‎‎‎)
printf(" %d",mat[r][c]);
printf("\n");
}
}

اینم ویرایش شدش:لبخند:

rasool94
دوشنبه 04 خرداد 1394, 19:33 عصر
داداش کد مشکل داره خودتون اجراش کنید

rasool94
دوشنبه 04 خرداد 1394, 19:40 عصر
کد درست شد بالاخره مرسی از همه


#include<stdio.h>#include<conio.h>


void read_arr(int a[10][10],int row,int col)
{
int i,j;
for(i=1;i<=row;i++)
{
for(j=1;j<=col;j++)
{
printf("Enter Element %d %d : ",i,j);
scanf("%d",&a[i][j]);
}
}
}


void add_arr(int m1[10][10],int m2[10][10],int m3[10][10],int row,int col)
{
int i,j;
for(i=1;i<=row;i++)
{
for(j=1;j<=col;j++)
{
m3[i][j] = (m1[i][j] + m2[i][j]);
}
}
}


void print_arr(int m[10][10],int row,int col)
{
int i,j;
for(i=1;i<=row;i++)
{
for(j=1;j<=col;j++)
{
printf("%d ",m[i][j]);
}
printf("\n");
}
}


main()
{
int m1[10][10],m2[10][10],m3[10][10],row,col;


printf("Enter number of rows :");
scanf("%d",&row);
printf("Enter number of colomns :");
scanf("%d",&col);
read_arr(m1,row,col);
read_arr(m2,row,col);
add_arr(m1,m2,m3,row,col);
print_arr(m3,row,col);
getch();
}

stackprogramer
دوشنبه 04 خرداد 1394, 20:54 عصر
خدا را شکر:گریه: