Вы находитесь на странице: 1из 1

#include<stdio.

h>

int main()
{
int cost[10][10],distance[10][10],via[10][10],i,j,k,n=0,node;

printf("\n Enter no. of nodes: ");


scanf("%d",&node);

printf("\n Enter the cost matrix: \n");

for(i=0;i<node;i++)
for(j=0;j<node;j++)
{
scanf("%d",&cost[i][j]);
cost[i][i]=0;
distance[i][j]=cost[i][j];
via[i][j]=j;
}

do
{
n=0;
for(i=0;i<node;i++)
for(j=0;j<node;j++)
for(k=0;k<node;k++)
if(distance[i][j]>cost[i][k]+distance[k][j])
{
distance[i][j]=cost[i][k]+distance[k][j];
via[i][j]=k;
n++;
}
}while(n!=0);

printf("\n FINAL COST MATRIX: \n");

for(i=0;i<node;i++)
{
for(j=0;j<node;j++)
printf("%d",distance[i][j]);
printf("\n");
}
printf("\n FINAL HOP MATRIX: \n");

for(i=0;i<node;i++)
{
for(j=0;j<node;j++)
printf("%c",(via[i][j]+0x61));
printf("\n");
}

Вам также может понравиться