Как сохранить соседние узлы и ребра в динамическом массиве? - PullRequest
0 голосов
/ 10 апреля 2019

Во-первых, я все еще новичок в C и неопытен в программировании. Буду признателен за подробный ответ на ваше решение. Это небольшой дополнительный вопрос из моего предыдущего.

Я хочу сохранить соседний адрес узла и его вес в динамическом массиве, расположенном внутри моего структурного узла:

typedef struct node{
    int port;
    int ownAddress;

    unsigned short *neighAddr;
    unsigned int *neighWeight;
    unsigned int total_neighs; 

    struct node *neighbors_array; //unsure about type
} node;

Аргумент командной строки выглядит следующим образом:

./node 8888 1 23:2 46:1 688:92 12:4

Аргументы, разделенные символом «:», могут повторяться бесконечно и представляют собой пару, заданную как соседний адрес: вес. Мне нужно хранить это в массиве. Вот что у меня есть:

[...]
/* to read neighbourAddress and weight separated by ':' */
        int i, neighbourAddress, weight;
        for(i = 3; i < argc; ++i){
            if(sscanf(argv[i], "%d:%d", &neighbourAddress, &weight) != 2){
                fprintf(stderr, "Wrong format. Format must be as follows: int:int.\n");
                exit(EXIT_FAILURE);
            }

            /* store neighbour data in an array */

Как вы можете видеть, я уже получил значения с соседями и адресом веса, но нужно только сохранить его в массиве.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...