Pagini recente » Cod sursa (job #1910743) | Cod sursa (job #2960152) | Cod sursa (job #1349439) | Cod sursa (job #2863826) | Cod sursa (job #1427451)
#include <stdio.h>
int N;
int a[101][101];
void citire()
{
FILE* f = fopen("royfloyd.in", "r");
fscanf(f, "%d", &N);
for (int i = 0; i < N; ++i)
for (int j = 0; j < N; ++j)
fscanf(f, "%d", &a[i][j]);
}
void calculate()
{
for (int k = 0; k < N; ++k)
for (int i = 0; i < N; ++i)
for (int j = 0; j < N; ++j)
if (a[i][k] && a[k][j] && (a[i][j] > a[i][k] + a[k][j]) && i != j)
a[i][j] = a[i][k] + a[k][j];
}
void afisare()
{
FILE* f = fopen("royfloyd.out", "w");
for (int i = 0; i < N; ++i)
{
for (int j = 0; j < N; ++j)
fprintf(f, "%d ", a[i][j]);
fprintf(f, "\n");
}
}
int main()
{
citire();
calculate();
afisare();
return 0;
}