Pagini recente » Cod sursa (job #747241) | Cod sursa (job #1676753) | Cod sursa (job #1195042) | Cod sursa (job #1210041) | Cod sursa (job #2439319)
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *read = fopen("royfloyd.in", "r");
FILE *write = fopen("royfloyd.out", "w");
int n, a[100][100], i, j, k;
fscanf(read, "%d", &n);
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
fscanf(read, "%d", &a[i][j]);
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
for(k = 0; k < n; k++)
{
if (j != k && a[j][i] > 0 && a[i][k] > 0)
if (a[j][k] == 0)
{
a[j][k] = a[k][j] + a[i][k];
}
if(a[j][k] > a[j][i] + a[i][k]) a[j][k] = a[j][i] + a[i][k];
}
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
fprintf(write, "%d ", a[i][j]);
fprintf(write, "\n");
}
fclose(read);
fclose(write);
return 0;
}