Pagini recente » Cod sursa (job #878672) | Cod sursa (job #912052) | Cod sursa (job #1698394) | Cod sursa (job #649678) | Cod sursa (job #2141702)
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *infile, *outfile;
int n, i, j, k;
int **m;
infile = fopen("royfloyd.in", "r");
outfile = fopen("royfloyd.out", "w");
fscanf(infile, "%d", &n);
m = malloc(n * sizeof(int*));
for (i = 0; i < n; i++)
m[i] = malloc(n * sizeof(int));
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
fscanf(infile, "%d", &m[i][j]);
for(k = 0; k < n; k++)
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
if(m[i][j] > m[i][k] + m[k][j])
m[i][j] = m[i][k] + m[k][j];
for(i = 0; i < n; i++) {
for(j = 0; j < n; j++)
fprintf(outfile, "%d ", m[i][j]);
fprintf(outfile, "\n");
}
fclose(infile);
fclose(outfile);
return 0;
}