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