Académique Documents
Professionnel Documents
Culture Documents
#include<stdio.h>
#include<stdlib.h>
void AdjacencyMatrix( int a[ ][ 100 ], int n, FILE *fp ){ /* GET ADJACENCY MATRIX
OF SIZE N X N */
int i , j ;
void dijkastra( int n, int a[ ][ 100 ],int source,int des, int *d,int *p,int *s)
{ /* FIND SHORTEST PATH FROM SOURCE TO DESTINATION */
s[ u ] = 1; /* MARK u AS VISITED */
void print(int a[ ][ 100 ],int n,int *d,int *p,int *s){ /* FUNCTION TO PRINT
SHORTEST PATH FROM ALL SOURCES */
int i,source,des;
else
{
printf("\n");
i = des;
while( i != source) /* REPEATEDLY PRINT PATH FROM SOURCE TO DESTINATION */
{
printf("%d<-", i);
i = p[ i ];
}
int i, j;
for(i = 0;i < n; i++)
{
for(j = 0;j < n; j++)
{
printf("\t%d", a[ i ][ j ]);
}
printf("\n");
}
}
int main()
{
int n,a[100][100],i,j,*p,*d,*s;
fprintf(fp,"digraph A {\n");
AdjacencyMatrix( a, n, fp);
printArray(a,n);
print(a,n,d,p,s);
fprintf(fp,"\n}\n\n");
return 0;