2011-11-18 2 views
1

입력과 같은 인접 행렬을 만드는 방법을 해당 입력이 삽입 내가 인접 행렬을 만들고 싶어이이 입력

5 // is # of vertices 
1 1 0 1 // 1<->2 1<->3 1<->4 1<->5 
0 0 0 // 2<->3 2<->4 2<->5 
0 1 // 3<->4 3<->5 
1 // 4<->5 

, 같다. 그렇게하는 방법?

이미이 작업을 수행하는 방법에는 여러 가지가 있습니다이

array = (int)malloc(sizeof(int)*numVetex); 
+0

당신이'array = (int *) malloc (sizeof (int) * numVetex); 그리고 당신은'array'를'int * array; '라고 정의 했습니까? –

+0

그래서 나는 이것이 무향 그래프라고 가정하고 있습니까? – Jacob

+0

예, 무향 그래프 – Silvester

답변

2

같은 매트릭스했다. 여기에 그것들 중 하나가 있습니다 :

int **array; 
    int numVertex; 
    int i,j; 

    scanf("%d",&numVertex); 
    array = malloc(sizeof(int*) * numVertex); 
    for(i=0;i<numVertex;i++) { 
      array[i] = malloc(sizeof(int) * numVertex); 
    } 
    for(i=0;i<numVertex-1;i++) { 
      for(j=i+1;j<numVertex;j++) { 
        scanf("%d",&array[i][j]); 
        array[j][i] = array[i][j]; 
      } 
      array[i][i] = 0; 
    } 
    // use array 
    // free it 
관련 문제