#include<conio.h>
#include<stdio.h>
#define INFNITY 999
int a[10][10],n;
voidprintArray(){
inti,j;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
}
voiduAdjacencyMatrix(){
inti,j,c=1,w;
for(i = 0;i < n; i++)
{
for(j = 0;j < i; j++)
{
a[i][j] = INFNITY ;
a[j][i] = INFNITY ;
}
a[i][i] = 0;
}
while(c!=-1)
{
printf ("\ni , j , w :");
scanf("%d%d%d",&i,&j,&w);
a[i][j]=w;
//printf
("c? :");
scanf("%d",&c);
}
printArray();
getch();
}
int main()
{
int d[10][10], da[10][10],i,j,l,m,k;
printf("enter the number of vertices : ");
scanf("%d",&n);
uAdjacencyMatrix();
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
d[i][j]=a[i][j];
}
}
for(k=0;k<n;k++)
{
for(i=0;i<n;i++)
{
for( j=0;j<n;j++)
{
if(d[i][j]<d[i][k]+d[k][j])
{
da[i][j]=d[i][j];
}
else
{
da[i][j]=d[i][k]+d[k][j];
}
}
}
for(l=0;l<n;l++)
{
for(m=0;m<n;m++)
{
d[l][m]=da[l][m];
}
}
}
for(l=0;l<n;l++)
{
printf("\n");
for(m=0;m<n;m++)
{
printf("%d\t\t",da[l][m]);
}
}
getch();
return(0);
}
No comments:
Post a Comment