Pagini recente » Cod sursa (job #1144549) | Cod sursa (job #2488807) | Cod sursa (job #203825) | Cod sursa (job #2607714) | Cod sursa (job #495064)
Cod sursa(job #495064)
#include<fstream.h>
#define INF 1000000
#define NMAX 102
int a[NMAX][NMAX], i, n;
void citeste()
{
ifstream f("royfloyd.in");
int i, j;
f>>n;
for (i=1; i<=n; ++i)
for(j=1; j<=n; ++j)
{
f>>a[i][j];
if (a[i][j]==0 && i!=j) a[i][j]=INF;
}
f.close();
}
int min(int x,int y)
{
if (x<y) return x;
else return y;
}
void royfloyd()
{
int k ,i, j;
for(k=1; k<=n; ++k)
for (i=1; i<=n; ++i)
for (j=1; j<=n; ++j)
a[i][j]=min(a[i][j],a[i][k]+a[k][j]);
}
void afiseaza()
{
ofstream g("royfloyd.out");
int i, j;
for(i=1; i<=n; ++i)
{
g<<a[i][1];
for (j=2; j<=n; ++j) g<<" "<<a[i][j];
g<<"\n";
}
g.close();
}
int main()
{
citeste();
royfloyd();
afiseaza();
return 0;
}