Эй, я новичок в программировании и пытаюсь сохранить следующий график в матрице смежности
Я не уверен, как go сделать это. Я хочу, чтобы мой код считывал графическую информацию и сохранял ее в структуре данных. Из того, что я узнал из видео на YouTube, я узнал, что мне нужно создать структуру смежности, в которой у меня есть вершины (города = 21) и ребра (jourses = 43).
Пока у меня есть следующий код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct value {
int num;
char start_vertex[250];
char destination_vertex[250];
} value;
int main()
{
const int nLines = 43; // number of lines in my text file
FILE * fptr;
//pointer to point to the first line as the next bit of code gets executed
value * valuesPtr = malloc(sizeof(value) * nLines);
if (!valuesPtr) {
puts("cannot allocate memory");
return -1;
}
if((fptr = fopen("energy.txt", "r")) == NULL)
{
perror("Error opening file");
return -1;
}
int num[nLines];
char start_vertex[nLines][250];
char destination_vertex[nLines][250];
for(int i = 0; i < nLines; i++ )
{
if (fscanf(fptr, "%249s %249s %d",
valuesPtr[i].start_vertex,
valuesPtr[i].destination_vertex,
&valuesPtr[i].num) != 3) {
printf("errored file line %d\n", i);
break;
}
num[i] = valuesPtr[i].num;
strcpy(start_vertex[i], valuesPtr[i].start_vertex);
strcpy(destination_vertex[i], valuesPtr[i].destination_vertex);
printf("\nStart vertex: %s \nDestination vertex: %s \nWeight: %d\n\n",
valuesPtr[i].start_vertex, valuesPtr[i].destination_vertex, valuesPtr[i].num);
printf("\nStart vertex: %s \nDestination vertex: %s \nWeight: %d\n\n",
start_vertex[i], destination_vertex[i], num[i]);
}
free(valuesPtr);
fclose(fptr);
return 0;
}
Может кто-нибудь показать мне, как я буду go делать это?