主题:谁来帮帮要挂科的小弟,就个简单的流程图的事,跪求
#include <stdio.h>
#define N 10
typedef struct
{
int i,j;
int e;
}tsMatrix;
typedef struct
{
tsMatrix data[N];
int mu,nu,tu;
}TSMatrix;
int FastTransposeSMatrix(TSMatrix M,TSMatrix *T)
{
int col,p,q,t;
int num[N],cpot[N];
T->mu=M.nu;
T->nu=M.mu;
T->tu=M.tu;
if(T->tu)
{
for(col=1;col<=M.nu;++col)
num[col]=0;
for(t=1;t<=M.tu;++t)
++num[M.data[t].j];
cpot[1]=1;
for(col=2;col<=M.nu;++col)
cpot[col]=cpot[col-1]+num[col-1];
for(p=1;p<=M.tu;++p)
{
col=M.data[p].j;q=cpot[col];
T->data[q].i=M.data[p].j;
T->data[q].j=M.data[p].i;
T->data[q].e=M.data[p].e;
++cpot[col];
}
}
}
void printM(TSMatrix *M)
{
int p,q;int t=1;
for(p=1;p<=M->mu;p++)
{
for(q=1;q<=M->nu;q++)
{
if(M->data[t].i==p&&M->data[t].j==q)
{
printf("%d ",M->data[t].e);t++;
}
else printf("0 ");
}
printf(" ");
}
printf(" ");
}
void main()
{
TSMatrix A,T;int k;
printf("请输入矩阵的行数");
scanf("%d",&A.mu);
printf("矩阵的列数:");
scanf("%d",&A.nu);
printf("矩阵的非零元个数:");
scanf("%d",&A.tu);
for(k=1;k<=A.tu;k++)
{
printf("请输入第 %d 非零元: ",k);
printf("它所在的行位置:");
scanf("%d",&A.data[k].i);
printf("它所在的列位置:");
scanf("%d",&A.data[k].j);
printf("它的值:");scanf("%d",&A.data[k].e);
}
printf(" 原矩阵: ");
printM(&A);
FastTransposeSMatrix(A,&T);
printf("转置后的矩阵: ");
printM(&T);
}
[em8][em8][em8][em8]我快要挂死了
#define N 10
typedef struct
{
int i,j;
int e;
}tsMatrix;
typedef struct
{
tsMatrix data[N];
int mu,nu,tu;
}TSMatrix;
int FastTransposeSMatrix(TSMatrix M,TSMatrix *T)
{
int col,p,q,t;
int num[N],cpot[N];
T->mu=M.nu;
T->nu=M.mu;
T->tu=M.tu;
if(T->tu)
{
for(col=1;col<=M.nu;++col)
num[col]=0;
for(t=1;t<=M.tu;++t)
++num[M.data[t].j];
cpot[1]=1;
for(col=2;col<=M.nu;++col)
cpot[col]=cpot[col-1]+num[col-1];
for(p=1;p<=M.tu;++p)
{
col=M.data[p].j;q=cpot[col];
T->data[q].i=M.data[p].j;
T->data[q].j=M.data[p].i;
T->data[q].e=M.data[p].e;
++cpot[col];
}
}
}
void printM(TSMatrix *M)
{
int p,q;int t=1;
for(p=1;p<=M->mu;p++)
{
for(q=1;q<=M->nu;q++)
{
if(M->data[t].i==p&&M->data[t].j==q)
{
printf("%d ",M->data[t].e);t++;
}
else printf("0 ");
}
printf(" ");
}
printf(" ");
}
void main()
{
TSMatrix A,T;int k;
printf("请输入矩阵的行数");
scanf("%d",&A.mu);
printf("矩阵的列数:");
scanf("%d",&A.nu);
printf("矩阵的非零元个数:");
scanf("%d",&A.tu);
for(k=1;k<=A.tu;k++)
{
printf("请输入第 %d 非零元: ",k);
printf("它所在的行位置:");
scanf("%d",&A.data[k].i);
printf("它所在的列位置:");
scanf("%d",&A.data[k].j);
printf("它的值:");scanf("%d",&A.data[k].e);
}
printf(" 原矩阵: ");
printM(&A);
FastTransposeSMatrix(A,&T);
printf("转置后的矩阵: ");
printM(&T);
}
[em8][em8][em8][em8]我快要挂死了