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: