Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ***Algoritmul lui Roy Floyd***
- Matricea costurilor minime
- */
- #include <fstream>
- using namespace std;
- ifstream f("matrice.in");
- ofstream g("matrice.out");
- const long val=500;
- int a[50][50],n,i,j,c;
- void init()
- {
- f>>n;
- for(i=1; i<=n; i++)
- for(j=1; j<=n; j++)
- if(i==j)
- a[i][j]=0;
- else
- a[i][j]=val;
- }
- void citire()
- {
- while(f>>i>>j>>c)
- a[i][j]=c;
- }
- void afis()
- {
- for(i=1; i<=n; i++)
- {
- for(j=1; j<=n; j++)
- g<<a[i][j]<<" ";
- g<<'\n';
- }
- }
- void Roy_Floyd()
- {
- for(int k=1; k<=n; k++)
- for(i=1; i<=n; i++)
- for(j=1; j<=n; j++)
- if(a[i][k]+a[k][j]<a[i][j])
- a[i][j]=a[i][k]+a[k][j];
- }
- int main()
- {
- init();
- citire();
- Roy_Floyd();
- afis();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement