Floyd Warshall algorithm in c
On-campus and online computer science courses to Learn the basic concepts of Computer Science.This tutorial will cover c ,c++, java, data structure and algorithm,computer graphics,microprocessor,analysis of algorithms,Digital Logic Design and Analysis,computer architecture,computer networks,operating system.
code in C:#include<stdio.h> int i, j, k,n,dist[10][10]; void floydWarshell () { for (k = 0; k < n; k++) for (i = 0; i < n; i++) for (j = 0; j < n; j++) if (dist[i][k] + dist[k][j] < dist[i][j]) dist[i][j] = dist[i][k] + dist[k][j]; } int main() { int i,j; printf("enter no of vertices :"); scanf("%d",&n); printf("\n"); for(i=0;i<n;i++) for(j=0;j<n;j++) { printf("dist[%d][%d]:",i,j); scanf("%d",&dist[i][j]); } floydWarshell(); printf (" \n\n shortest distances between every pair of vertices \n"); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) printf ("%d\t", dist[i][j]); printf("\n"); } return 0; }output:-
enter no of vertices :4 dist[0][0]:0 dist[0][1]:8 dist[0][2]:999 dist[0][3]:1 dist[1][0]:999 dist[1][1]:0 dist[1][2]:1 dist[1][3]:999 dist[2][0]:4 dist[2][1]:999 dist[2][2]:0 dist[2][3]:999 dist[3][0]:999 dist[3][1]:2 dist[3][2]:9 dist[3][3]:0 shortest distances between every pair of vertices 0 3 4 1 5 0 1 6 4 7 0 5 7 2 3 0 --------------------------------
0 comments: