c语言int doubt,c语言错误error: incompatible types in assignment

2023-05-16

#include

#include

#include

#define MAXLEN 100

typedef int ElemType;

typedef struct

{

int i,j;// 行下标,列下标

ElemType e;         //元素值

} Doubtle;

typedef struct

{   Doubtle data[MAXLEN+1]; // 非零元三元组表,data[0]未用

int m,n,t;// 矩阵的行数、列数和元素个数

} Matrix;

int InitMatrix(Matrix *M)

{

*M=(Matrix*)malloc(sizeof(Matrix));

}

int MatrixCreat(Matrix M)

{   int a,b;

srand((int)time(NULL));

a=rand()%10+1;

b=rand()%10+1;

M.m=a;

M.n=b;

M.t=a*b;

int i,j,e;

for(e=1;e<=M.t;e++)

{for(i=1;i<=M.m;i++)

{for(j=1;j<=M.n;j++)

{srand((int)time(NULL));

M.data[e].e=rand()%50+1;

M.data[e].i=i;

M.data[e].j=j;

e++;

}

}

}

}

// 输出矩阵M

void PrintSMatrix(Matrix M)

{

int i;

printf("\n %d 行, %d 列, %d 个元素。\n",M.m, M.n, M.t);

printf("%4s %4s %8s\n", "i", "j", "e");

printf("======================\n");

for(i=1; i<=M.t; i++)

printf("%4d %4d %8d\n", M.data[i].i, M.data[i].j, M.data[i].e);

}

void qiuanma(Matrix M)

{

int q,p;

int MAX=0,MIN=100;

int lie,hang;

int anma;

for(q=1;q<=M.m;q++)

{

for(p=1;p<=M.n;p++)

{

if(M.data[p].e>MAX)

{MAX=M.data[p].e;

lie=M.data[p].j;}

}

if(M.data[q].e

{MIN=M.data[q].e;

hang=M.data[q].i;

}

}

if(MIN==MAX)

{anma=MIN;}

printf("\n鞍马点为第%d行第%d列,元素值为%d",hang,lie,anma);

}

int main(int argc, char *argv[])

{   Matrix *T;

InitMatrix(T);

MatrixCreat(*T);

PrintSMatrix(*T);

qiuanma(*T);

return 0;

}

我想创建一个随机矩阵,然后求它的鞍马点的行列以及值,但是给矩阵分配空间的时候好像出了问题

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c语言int doubt,c语言错误error: incompatible types in assignment 的相关文章

随机推荐