Print Friendly and PDF
#include<iostream.h> 
#include<conio.h> 
#include<stdio.h> 
#include<stdlib.h> 
class path 
{ 
int n; 
int p[10][10]; 
int a[10][10]; 
int c[10][10]; 
public: 
void get(); 
void pm(); 
void ap(); 
void disp(); 
}; 
void path::get() 
{ 
int i,j,k; 
clrscr(); 
cout<<"Enter the no. of nodes in the graph :"; 
cin>>n; 
cout<<"Enter the adjacency matrix :"; 
for(i=1;i<=n;i++) 
{ 
for(j=1;j<=n;j++) 
{ 
cin>>a[i][j]; 
p[i][j]=0; 
}
} 
cout<<"Enter The cost matrix is :"; 
for(i=1;i<=n;i++) 
{ 
for(j=1;j<=n;j++) 
{ 
cin>>c[i][j]; 
} 
} 
for(i=1;i<=n;i++) 
{ 
for(j=1;j<=n;j++) 
{ 
p[i][j]=a[i][j]; 
} 
} 
} 
void path::disp() 
{ 
// cout<<"The output matrix for the given graph is :"; 
for(int i=1;i<=n;i++) 
{ 
for(int j=1;j<=n;j++) 
{ 
cout<<p[i][j]<< " "; 
} 
cout<<endl; 
} 
} 
void path::pm() 
{ 
int i,j,k; 
for(k=1;k<=n;k++) 
{ 
for(i=1;i<=n;i++) 
{ 
for(j=1;j<=n;j++) 
{ 
p[i][j]=p[i][j] || p[i][k] && p[k][j]; 
} 
} 
} 
} 
void path::ap() 
{ 
int i,j,k; 
for(i=1;i<=n;i++) 

{ 

for(j=1;j<=n;j++) 
{ 
p[i][j]=c[i][j]; 
} 
} 
for(k=1;k<=n;k++) 
{ 
for(i=1;i<=n;i++) 
{ 
for(j=1;j<=n;j++) 
{ 
if(p[i][j]<p[i][k]+p[k][j]) 
{ 
p[i][j]=p[i][j]; 
} 
else 
{ 
p[i][j]=p[i][k]+p[k][j]; 
}
} 
} 
} 
} 
void main() 
{ 
path p; 
p.get(); 
p.pm(); 
cout<<"path matrix is :"; 
p.disp(); 
getch(); 
p.ap(); 
cout<<"all pair shortest path matrix is :"; 
p.disp(); 
getch(); 
}
zubairsaif

Zubair saif

A passionate writer who loves to write on new technology and programming

Post A Comment:

0 comments: