Pagini recente » Cod sursa (job #595620) | Cod sursa (job #3169474) | Cod sursa (job #292255) | Cod sursa (job #1417334) | Cod sursa (job #916472)
Cod sursa(job #916472)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f;
ofstream g;
int n,m[101][101];
void citire()
{f.open("royfloyd.in");
f>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
f>>m[i][j];
f.close();
}
void roy_floyd()
{
for(int k=1;k<=n;k++)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if((m[i][k]!=0)&&(m[k][j]!=0)&&(i!=j))
if((m[i][j]>m[i][k]+m[k][j])||(m[i][j]==0))
m[i][j]=m[i][k]+m[k][j];
}
void afisare()
{g.open("royfloyd.out");
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
g<<m[i][j]<<" ";
g<<endl;
}
g.close();
}
int main()
{citire();
roy_floyd();
afisare();
return 0;
}