Sunteți pe pagina 1din 1

Algoritmul Floyd-Warshall void solve()

{ for(int k = 1; k <=n; k++)


Algoritmul Floyd-Warshall este folosit
in diverse domeni des intalnite, de la for(int i = 1; i <=n; i++)
controlul avioanelor de pe un anumit
aeroport pana la jocuri informatice, rolul for(int j = 1; j <= n; j++) //daca
principal fiind acela de gasire a drumului de putem actualiza
cost minim intre un obiect principal si o tinta if(a[i][k] && a[k][j] && i != j &&
anume (a[i][j] > a[i][k] + a[k][j] || !a[i][j]))
a[i][j] = a[i][k] + a[k][j];}
void show()
#include<cstdio>
{ int j; //afisam matricea costurilor
#include<iostream>
for(int i = 1; i <=n; i++)
using namespace std;
{ for(j=1;j<=n;j++)
int n=5,a[105][105];
cout<<a[i][j]<<" ";
void read()
cout<<endl;} }
{for(int i = 1; i <=n; i++)
int main()
for(int j = i+1; j <= n; j++)
{ read();
{ cout<<i<<"-"<<j<<":";
solve();
cin>>a[i][j];
show();
a[j][i]=a[i][j]; } }
return 0; }