Untitled
unknown
plain_text
9 days ago
842 B
4
Indexable
#include<stdio.h> struct node { int dist[20]; int from[20]; }route[10]; int main () { int dm[20][20],no; printf("Enter no:of nodes:"); scanf("%d",&no); printf(" Enter the distance matrix :\n"); for(int i=0;i<no;i++) { for(int j=0;j<no;j++) { scanf("%d",&dm[i][j]); dm[i][i]=0; route[i].dist[j]=dm[i][j]; route[i].from[j]=j; } } int flag; do { flag = 0; for(int i=0;i<no;i++) { for(int j=0;j<no;j++) { for(int k=0;k<no;k++) { if((route[i].dist[j])>(route[i].dist[k]+route[k].dist[j])) { route[i].dist[j]=route[i].dist[k]+route[k].dist[j]; route[i].from[j]=route[i].from[k]; flag=1; } } } } }while(flag); for(int i=0;i<no;i++) { printf(" Router info for router : %c \n" ,i + 65); printf( " Dest \tNext Hop \tDist \n " ); for(int j=0;j<no;j++) printf(" %c \t %c \t \t %d \n", j +65, route[i].from[j]+65, route[i].dist[j]); } return 0; }
Editor is loading...
Leave a Comment