Pagini recente » Cod sursa (job #1678381) | Cod sursa (job #406994) | Cod sursa (job #294661) | Cod sursa (job #284537) | Cod sursa (job #886867)
Cod sursa(job #886867)
#include <stdio.h>
int t[101][101];
int main()
{
int n;
FILE * f;
FILE * g;
g = fopen("royfloyd.out", "w");
f = fopen("royfloyd.in", "r");
fscanf(f, "%d", &n);
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
{
fscanf(f, "%d", &t[i][j]);
if(t[i][j] == 0) t[i][j] = 9999;
}
}
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
{
for(int k=1; k<=n; k++)
{
if(t[i][k] && t[k][j] && (t[i][j] > t[i][k] + t[k][j] || !t[i][j]) && i!=j) t[i][j] = t[i][k] + t[k][j];
}
}
}
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
{
if(t[i][j] == 9999) fprintf(g, "%d ", 0);
else fprintf(g, "%d ", t[i][j]);
}
fprintf(g, "\n");
}
}