Pagini recente » Cod sursa (job #2603932) | Cod sursa (job #1150594) | Cod sursa (job #443104) | Cod sursa (job #665240) | Cod sursa (job #1813133)
#include <stdio.h>
#include <stdlib.h>
#define MAXN 100
int mat[MAXN][MAXN];
int main()
{
FILE *fin, *fout;
int n, i, j, k;
fin=fopen("royfloyd.in", "r");
fscanf(fin, "%d", &n);
for(i=0; i<n; i++)
for(j=0; j<n; j++)
fscanf(fin, "%d", &mat[i][j]);
fclose(fin);
for(k=0; k<n; k++)
for(i=0; i<n; i++)
for(j=0; j<n; j++)
if(i!=j && mat[i][k] && mat[k][j] && (mat[i][j]==0 || mat[i][j]>mat[i][k]+mat[k][j]))
mat[i][j]=mat[i][k]+mat[k][j];
fout=fopen("royfloyd.out", "w");
for(i=0; i<n; i++){
for(j=0; j<n; j++)
fprintf(fout, "%d ", mat[i][j]);
fprintf(fout, "\n");
}
fclose(fout);
return 0;
}