Pagini recente » Cod sursa (job #835966) | Cod sursa (job #2680414) | Cod sursa (job #485512) | Cod sursa (job #2337010) | Cod sursa (job #1238355)
#include <stdio.h>
#define FIN "royfloyd.in"
#define FOUT "royfloyd.out"
int n, a[100][100];
void roy(){
int i,j,k;
for(i=0; i < n; i++){
for(j=0; j < n; j++){
for(k=0; k < n; k++){
if(a[i][j] > a[i][k]+a[k][j] && a[i][k] != 0 && a[k][j] != 0)
a[i][j] = a[i][k]+a[k][j];
}
}
}
}
int main(){
FILE *in = fopen(FIN, "rt");
FILE *out = fopen(FOUT, "wt");
int i,j;
fscanf(in, "%d", &n);
for(i=0; i < n; i++){
for(j=0; j < n; j++){
fscanf(in, "%d", &a[i][j]);
}
}
roy();
for(i=0; i < n; i++){
for(j=0; j < n; j++){
fprintf(out, "%d ", a[i][j]);
}
fprintf(out, "\n");
}
fclose(in);
fclose(out);
return 0;
}