floyd's
#include<stdio.h>
#include<stdlib.h>
void floyds(int D[10][10],int n);
int min(int a,int b){
if(a<b)
return a;
else
return b;
}
int main(){
int i,j,n,D[10][10];
printf("\nEnter no. of nodes: ");
scanf("%d",&n);
printf("\nRead the weighted matrix\n");
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
scanf("%d",&D[i][j]);
floyds(D,n);
printf("\n The all pairs shorted path is\n");
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
printf("%d\t",D[i][j]);
}
printf("\n");
}
return 0;
}
void floyds(int D[10][10],int n){
int i,j,k;
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
for(k=1;k<=n;k++)
D[i][j]=min(D[i][j],D[i][k]+D[k][j]);
}
}
}
Comments
Post a Comment