Pagini recente » Cod sursa (job #1412093) | Cod sursa (job #779685) | Cod sursa (job #2518311) | Cod sursa (job #2526752) | Cod sursa (job #1459493)
# include <stdio.h>
# include <stdlib.h>
# define datain "dijkstra.in"
# define dataout "dijkstra.out"
typedef struct graf {
unsigned int n;
long m;
int **a;
} GRAF;
void initG (GRAF **g, int n, int m) {
int i = 1;
(*g)->n = n;
(*g)->m = m;
(*g)->a = (int **) malloc ( (n+1) * sizeof (int*));
for (i = 0; i <= n; i++)
(*g)->a[i] = (int*) calloc ( (n+1) , sizeof (int));
}
void readG (GRAF **g) {
unsigned int n = 0, x = 0, y = 0, z = 0;
long m = 0, i = 0;
FILE *f = fopen (datain, "rt");
char *line = (char *) malloc (20 * sizeof (char));
fgets (line, 20, f);
sscanf (line, "%u%ld", &n, &m);
initG (g, n, m);
for (i = 0; i < m; i++) {
fgets (line, 20 ,f);
sscanf (line, "%u%u%d", &x, &y, &z);
(*g)->a[x][y] = z;
}
free (line);
fclose (f);
}
void printG (GRAF *g) {
int i = 0, j = 0;
for (i = 1; i <= g->n; i++) {
for (j = 1; j <= g->n; j++)
printf ("%d ", g->a[i][j]);
printf ("\n");
}
}
int main (void) {
GRAF *g = (GRAF *) malloc (sizeof (GRAF));
readG (&g);
printG (g);
return 0;
}