Untitled
unknown
plain_text
19 days ago
907 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]; } } } } } 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