Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  floyd
Language: C/C++
Code:
#include<stdio.h>
#include<conio.h>

#define INFINITY 100


int n; /* the number of nodes */

int cost[10][10]; /* the adjacency matrix of the graph */


void floyd_warshall()
{
     int i,j,k,d[10][10];


     //Initialization:-
      
     for (i = 0; i < n; i++)
     {  
     for(j = 0; j < n; j++)
     {
       d[i][j] = cost[i][j];
      
     }
     }


     // Main logic:-
    
     for (k = 0; k < n; k++)
     {
     for (i = 0; i < n; i++)
        {  
        for(j = 0; j < n; j++)
        {

          if(d[i][k]+d[k][j]<d[i][j])
                { 
           d[i][j]=d[i][k]+d[k][j];
                }

        }
     }
      }
                      
     
     for (i = 0; i < n; i++)
     {  
       for(j = 0; j < n; j++)
       {
          if(i!=j)
          {
        printf("ncost from node %d to node %d: %d",i,j,d[i][j]);
            
          }
         
        }
     }
  
}
      
   int main() 
{
         
         int i, j;
         
            

         printf("nEnter the no. of vertices: ");
            scanf("%d",&n);

         printf("nEnter the cost of the edges:n");
      
         for (i = 0; i < n; i++)
             {
             for (j = 0; j < n; j++) 
                 {
                    scanf("%d",&cost[i][j]);
                    
              }  
                   
                   
             }
         
      
         
      
         floyd_warshall();
            
            

            return 0;

}

          
          
          
          
          
Comments: