这两个我编了很长时间了,总是有错误,也看不出问题,解决不了。
只能求助各位了。
帮帮小弟我吧!!

、内容和要求
(1)           内容:用邻接矩阵或邻接表作存储结构,从结点1出发,对图1中有8个结点的无向图进行深度优先遍历。
(2)           用邻接矩阵或邻接表作存储结构,从结点1出发,对图1中
有8个结点的无向图进行广度优先遍历。
                        
图(1)
#include "stdio.h"
#define Max 100
main()
{int i,j,k;
 int p;
 int m,n;
 int a[Max][Max],b[Max],c[Max]; 
 printf("The array is :\n");
 for(i=1;i<=8;i++)
  {
  for(j=1;j<=8;j++)
   {
            printf("a[%d][%d]:",i,j) ;
       scanf("%d",&a[i][j]);
      
      }
     
   /*printf("a[%d][%d]:",i,j);
   scanf("%d",&a[i][j]);      
  }
  } 
    for(i=0;i<8;i++)
   {
   for(j=0;j<8:j++)
     {if(i=j)
      {a[i][j]=0;}*/
     
   }
   for(i=1;i<=8;i++)
    {
      for(j=1;j<=8;j++)
     {
            if(i==j)
       {a[i][j]=0;}
       //else {a[j][i]=a[i][j]=j+1;}
     }
    }   
 a[1][1]=1;
    
  printf("out put the array :\n");
   p=1;
  for(i=1;i<=8;i++)
  {
  for(j=1;j<=8;j++)
  {//printf("a[%d][%d]:",i,j);
     printf("%d\t",a[i][j]);  
   if(p%8==0){printf("\n");p=1;}
   else p++;
    }
  }
 m=n=1;
  printf("Begin DFSTraverse is:\n");
 
  printf("The order is:\n");
  //printf("111");
    for(k=1;k<=8;k++)
     {
      scanf("%d",&b[k]);
      //printf("->");
     }
     printf("\n");
  printf("The DFSTraverse is:\n");
   for(k=1;k<=8;k++)
     {
      printf("->");
      m=b[k];
     printf("%d",a[n][m]);
        n=m;
        
     }
   printf("\n");
    
   m=n=1; 
  printf("Begin BFSTraverse is:\n"); 
  printf("The order is:\n");
   for(k=1;k<=8;k++)
     {
      scanf("%d",&c[k]);
      
      
     }
     printf("\n");
  printf("The BFSTraverse is:\n");
  for(k=1;k<=8;k++)
     {
      m=c[k];
      printf("->");
     printf("%d",a[n][m]);
        
        n=m;
     }
}
先看着吧!
