如何从文本文件中输入c语言中的邻接矩阵

时间:2016-07-09 04:32:57

标签: c

以下是我的代码的内联输入。

int graph[V][V] = {{0, 2, 0, 6, 0},
                  {2, 0, 3, 8, 5},
                  {0, 3, 0, 0, 7},
                  {6, 8, 0, 0, 9},
                  {0, 5, 7, 9, 0},
                 };

我想将此图形输入从文本文件输入到图形数组。

1 个答案:

答案 0 :(得分:2)

如果文件包含单个数字,那么您可以使用我曾经使用过的代码。

#include <stdio.h>
#include <stdlib.h>

int main() {
    int v;
    printf("Please enter the value of v ");
    scanf("%d",&v);
    int** graph = malloc(sizeof(int*)*v);
    int i,j;
    for(i=0;i<v;i++) 
        graph[i] = malloc(sizeof(int)*v);
    FILE *fp;
    fp = fopen("input","r");
    char c;
    for(i=0;i<v;i++) {
          for(j = 0; j < v; j++) {
            fscanf(fp, " %c", &c);
            graph[i][j] = c-'0';
        }
    }
    for(i=0;i<v;i++) {
        for(j=0;j<v;j++) {
            printf("%d ",graph[i][j]);
        }
        printf("\n");
    }
    return 0;
}