当前位置: 代码迷 >> C语言 >> c区高手多啊,看看数据结构中的三维数组的建立的错误,也可看看我的编码风格, ...
  详细解决方案

c区高手多啊,看看数据结构中的三维数组的建立的错误,也可看看我的编码风格, ...

热度:435   发布时间:2007-12-06 23:01:11.0
c区高手多啊,看看数据结构中的三维数组的建立的错误,也可看看我的编码风格,有什么不好的请大家指出
代码:错误在红色的部分,可是我不知道怎么修改
//table.h    自定义头文件(定义结构体)
#define MAXSIZE 1000
typedef struct
{
int i;
int j;
int e;
}tupletype;
typedef struct
{
int rownum;
int colnum;
int nznum;
        tupletype data[MAXSIZE];
}table;


//tablelib.h          自定义头文件(对函数的定义)
#define M1 10
#define N1 10
void creat(table *T,int A[][N1])
{ int i,j;
T->rownum=M1;
T->colnum=N1;
T->nznum=0;
for(i=0;i<M1;i++)
  for(j=0;j<N1;j++)
   if(A[i][j]!=0)
   {
    T->data[T->nznum].i=i;
    T->data[T->nznum].j=j;
    T->data[T->nznum].e=A[i][j];
    T->nznum++;
   }
}
int assign(table *T, int *e,int r,int c)
{
int k=0;
if(r>=T->rownum||c>T->colnum)
  return 0;
while(k<T->nznum&&r>T->data[k].i)
  k++;
while(k<T->nznum&&r>T->data[k].j)
        k++;
if(T->data[k].i==r&&T->data[k].j==c)
{
  *e=T->data[k].e;
  return 1;
}
else
return 0;
}
int print(table *T)
{
int i,j,k,e;
for(i=0;i<T->rownum;i++)
{
  for(j=0;j<T->colnum;i++)
  {
   e=0;
   for(k=0;k<T->nznum;k++)
    if(i==T->data[k].i&&j==T->data[k].j)
    {
     e=T->data[k].e;
     break;
    }
   printf("%d",e);
  }
  printf("\n");
}
return 1;
}

//table.c           主函数
#include<stdio.h>
#include"table.h"
#include"tablelib.h"
int
main(void)
{
table *T,t;
int  A[M1][N1];
int m,n;
int i=0,j=0;
int e;
T=&t;
for(m=0;m<M1;m++)
  for(n=0;n<N1;n++)
  A[m][n]=0;
        m=0;
  n=0;
  while(m<10&&n<10)
  {
             printf("Input the  position array you want to change:\n");
       scanf("%d %d",&m,&n);
             printf("Input the elem data :\n");
          scanf("%d",&e);
          A[m][n]=e;
  }
       creat(T,&A[M1][N1]);            编译器认为我的第二个参数有问题
       printf("U can assign the data,please input the position");
                scanf("%d %d",&i,&j);
         assign(T,&e,i,j);
      printf("Now ,the data is :\n");
         print(T);
}
搜索更多相关的解决方案: 三维  数据结构  风格  编码  

----------------解决方案--------------------------------------------------------
希望能给我早点答复@!thanks!
----------------解决方案--------------------------------------------------------
  相关解决方案