?? fad.cpp
字號:
# include <stdio.h>
# include <stdlib.h>
# define MAX 20
typedef int VexType;
typedef VexType Mgraph[MAX][MAX]; /* Mgraph是二維數組類型標識符 */
/* 函數原形聲明*/
void creat_mg(Mgraph G);
void out_mg(Mgraph G);
Mgraph G1; /* G1是鄰接矩陣的二維數組名 */
int n,e;
/* 主函數 */
void main()
{ creat_mg(G1); out_mg(G1); printf("\n");
}/* main */
/* 建立鄰接矩陣 */
void creat_mg(Mgraph G)
{ int i,j,k,w;
printf("\n 輸入頂點數,邊數 n,e="); scanf("%d%d", &n,&e); /* 輸入頂點數n,邊數e */
for(i=1; i<=n;i++)
for(j=1;j<=n;j++){ if(i==j) G[i][j]=0; else G[i][j]=32767; }
/* 如果是網,G[i][j]=0該為G[i][j]=32767(無窮)*/
for(k=1;k<=e;k++) /* 組織邊數的循環 */
{ printf("\n 輸入邊的兩個頂點和權值vi,vj,w=");
scanf("%d%d%d", &i,&j,&w); /* 輸入一條邊的兩個頂點編號i,j */
G[i][j]=w; G[j][i]=w; /* 無向圖的鄰接矩陣是對稱矩陣 */
/* 如果是網,還要輸入邊的權值w,再讓G[i][j]=w */
}
} /* creat_mg */
/* 鄰接矩陣簡單輸出,為了檢查輸入是否正確 */
void out_mg(Mgraph G)
{ int i,j;
printf("\n鄰接矩陣輸出為:\n ");
for(i=1; i<=n;i++) /* 矩陣原樣輸出 */
{ printf("\n ");
for(j=1;j<=n;j++)
{ if(G[i][j]==32767) printf("%5s","∞"); else printf("%5d",G[i][j]);}
}
/* 輸出所存在的邊 */
for(i=1; i<=n;i++)
for(j=1;j<=n;j++)
if(G[i][j]!=32767&&G[i][j]!=0)
printf("\n 存在邊< %d,%d >",i,j);
} /* out_mg */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -