平凉汽车网

怎么用行指针求两个矩阵的和,和怎么用列指针求两个矩阵的和。

发布时间:2020-09-09

第一题:

#include <stdio.h>

int compare(char a[],char b[])
{
int i=0 ;

while (a[i]!='\0'&&b[i]!='\0'&&a[i]==b[i])
{
i++ ;
}

if (a[i]==b[i])
{
return 0 ;
}
else if(a[i]>b[i])
{
return -1;
}
else
{
return 1;
}
}

int main()
{
char a[20],b[20] ;

printf("请输入两个字符串:\n") ;
scanf("%s%s",a,b) ;

if (compare(a,b)==0)
{
printf("a==b\n") ;
}
else if(compare(a,b)==1)
{
printf("a>b\n") ;
}
else
{
printf("a<b\n") ;
}

printf("%d\n",compare(a,b)) ;

return 0;
}

第二题:
#include <stdio.h>

int main()
{
int i,j ;
int a[2][3],b[2][3] ;

printf("请输入第一个矩阵:\n") ;
for (i=0; i<2; i++)
{
for (j=0;j<3; j++)
{
scanf("%d",&a[i][j]) ;
}
}

printf("请输入第二个矩阵:\n") ;
for (i=0; i<2; i++)
{
for (j=0;j<3; j++)
{
scanf("%d",&b[i][j]) ;
}
}

for (i=0; i<2; i++)
{
for (j=0; j<3; j++)
{
a[i][j]+=b[i][j] ;
}
}

printf("相加后的矩阵:\n");
for (i=0; i<2; i++)
{
for (j=0; j<3; j++)
{
printf("%d ",a[i][j]) ;
}
printf("\n") ;
}

return 0;
}

回复:

int* addMetrix(int *a, int *b, int n) {
int i, len = n * n, res*;
res = (int*)calloc(len, sizeof(int));
for(i = 0; i < len; i++)
res[i] = a[i] + b[i];
return res;
}

//n是矩阵的维数,设方阵是n*n的

回复:

friend Matrix operator+(Matrix &,Matrix &); //重载运算符“+” void input(); //输入数据函数 void display(); //输出数据函数private:int mat[2][3];};Matrix::Matrix() //定义构造函数 {for(int i=0;i<2;i++) for(int j=0;j<3;j++) mat[i][j]=0;}Matrix operator+(Matrix &a,Matrix &b) //定义重载运算符“+”函数{Matrix c;for(int i=0;i<2;i++) for(int j=0;j<3;j++) {c.mat[i][j]=a.mat[i][j]+b.mat[i][j];}return c;}void Matrix::input() //定义输入数据函数 {cout<<"input value of matrix:"<<endl; for(int i=0;i<2;i++) for(int j=0;j<3;j++) cin>>mat[i][j];}void Matrix::display() //定义输出数据函数 {for (int i=0;i<2;i++) {for(int j=0;j<3;j++) {cout<<mat[i][j]<<" ";} cout<<endl;}}int main(){Matrix a,b,c; a.input(); b.input();cout<<endl<<"Matrix a:"<<endl; a.display(); cout<<endl<<"Matrix b:"<<endl; b.display(); c=a+b; //用重载运算符“+”实现两个矩阵相加

回复:

//正确的程序如下: #include void main() { int i,j,n,*tem[3]; int p[2][3],q[3][2],r[2][2]; tem[0]=p[0];tem[1]=q[0];tem[2]=r[0]; printf("请输入第1个矩阵:\n"); for(i=0;i

回复:

就解题而言的话, 这题不用动态分配内存和指针, 如下代码就行: int main() { int x, y; scanf("%d %d", &y, &x); int num = 0; int sum = 0; for (int y0=0; y0

回复:

#include using namespace std; class Matrix //定义Matrix类 {public: Matrix(); //默认构造函数 friend Matrix operator+(Matrix &,Matrix &); //重载运算符“+” void input(); //输入数据函数 void display(); //输出数据函数 private: int ma...

回复:

int* addMetrix(int *a, int *b, int n) { int i, len = n * n, res*; res = (int*)calloc(len, sizeof(int)); for(i = 0; i < len; i++) res[i] = a[i] + b[i]; return res; } //n是矩阵的维数,设方阵是n*n的

上一篇:f(x)=sin(π/3-2x)求f(x)的最值及相应的x值 下一篇:在天津我的车是外地牌照,怎么样年检,需要什么手续

返回主页:平凉汽车网

本文网址:http://0933auto.cn/view-16792-1.html
信息删除