Untitled
unknown
plain_text
7 days ago
810 B
3
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;i++) { scanf("%d",&dm[i][j]); dm[i][j]=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;i<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 \tNextHop \tDist\n"); for(int j=0;i<no;j++) { printf("%c\t%c\t%d\n",j+65,route[i].from[j]+65,route[i].dist[j]); } } return 0; }
Editor is loading...
Leave a Comment