Pagini recente » Cod sursa (job #3186744) | Cod sursa (job #2823627) | Cod sursa (job #1557613) | Cod sursa (job #2647436) | Cod sursa (job #578529)
Cod sursa(job #578529)
#include<fstream>
using namespace std;
int n,m;
int cost[101][101];
ifstream f1("royfloyd.in");
ofstream f2("royfloyd.out");
void initializare()
{for(int i=1;i<=n;++i)
for(int d=1;d<=n;++d)
if((!cost[i][d])&&(i!=d)) cost[i][d]=9999999;
}
void citire()
{f1>>n;
{for(int i=1;i<=n;++i)
for(int d=1;d<=n;++d)
f1>>cost[i][d];
initializare();
}
}
void roy()
{for(int i=1;i<=n;++i)
for(int d=1;d<=n;++d)
for(int z=1;z<=n;++z)
if((cost[d][z]>cost[d][i]+cost[i][z])&&(cost[i][z])&&(cost[d][i]))
cost[d][z]=cost[d][i]+cost[i][z];
}
void afisare()
{
for(int i=1;i<=n;++i)
{
for(int d=1;d<=n;++d)
f2<<cost[i][d]<<" ";
f2<<'\n';
}
}
int main()
{
citire();
roy();
afisare();
return 0;
}