Pagini recente » Cod sursa (job #789342) | Cod sursa (job #527115) | Cod sursa (job #31096) | Cod sursa (job #3131159) | Cod sursa (job #269608)
Cod sursa(job #269608)
#include <stdio.h>
#define MAX 100
int main()
{
int k, i, j, n;
int a[MAX][MAX];
FILE *fi=fopen("royfloyd.in", "r");
fscanf(fi, "%d", &n);
for(i=1; i<=n; ++i)
for(j=1; j<=n; ++j)
fscanf(fi, "%d", &a[i][j]);
fclose(fi);
for(k=1; k<=n; k++)
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
if (a[i][k] && a[k][j] && (a[i][j] > a[i][k] + a[k][j] || !a[i][j]) && i != j)
a[i][j]=a[i][k]+a[k][j];
FILE *fo=fopen("royfloyd.out", "w");
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
fprintf(fo, "%d ", a[i][j]);
fprintf(fo, "\n");
}
fclose(fo);
return 0;
}