?? 7_1.txt
字號(hào):
#include<stdio.h>
typedef struct f{
char ch[10];
}chararray;
locate(chararray *vetex,int n,char *s)
{
int i;
for(i=0;i<n;i++)
if(strcmp(vetex[i].ch,s)==0)return i;
return -1;
}
main()
{
int *adj,n,e,i,j,k; chararray *vetex;char *s,*t;
printf("輸入無(wú)向圖的頂點(diǎn)數(shù)和邊數(shù).\n");
do
scanf("%d%d",&n,&e);
while(n<=0 || e<=0);
getchar();
adj=(int *)malloc(sizeof(int)*n*n);
vetex=(chararray *)malloc(sizeof(chararray)*n);
printf("輸入各頂點(diǎn)的字符串.\n");
for(i=0;i<n;i++)
{
gets(s);
strcpy(vetex[i].ch,s);
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
*(adj+i*n+j)=0;
printf("請(qǐng)輸入各條邊.\n"); /*如v1回車v2回車表明有v1到v2的邊*/
for(i=1;i<=e;i++)
{
gets(s);
gets(t);
j=locate(vetex,n,s);
k=locate(vetex,n,t);
if(k>=0 && j>=0){
*(adj+j*n+k)=1;
*(adj+k*n+j)=1;
}
else
printf("邊的頂點(diǎn)輸入不正確!\n");
}
for(i=0;i<n;i++)
{ for(j=0;j<n;j++)
printf("%d",*(adj+i*n+j));
printf("\n");
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -