Pagini recente » Cod sursa (job #1587517) | Cod sursa (job #1981512) | Cod sursa (job #2054220) | Cod sursa (job #524514) | Cod sursa (job #876600)
Cod sursa(job #876600)
# include <stdio.h>
# define NMAX 100
int graph[NMAX][NMAX];
int n;
void afis () {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++)
printf("%d ", graph[i][j]);
printf("\n");
}
}
int main () {
FILE *f, *g;
f = fopen("royfloyd.in", "r");
g = fopen("royfloyd.out", "w");
fscanf (f, "%d", &n);
for (int i = 0; i < n; i++){
for (int j = 0; j < n; j++){
fscanf(f, "%d", &graph[i][j]);
}
}
for (int k = 0; k < n; k ++)
for (int i = 0; i < n; i ++)
for (int j = 0; j < n; j++)
if ((graph[i][k] + graph[k][j] <= graph[i][j] || !graph[i][j]) && i != j && graph[i][k] && graph[k][j])
graph[i][j] = graph[i][k] + graph[k][j];
for (int i = 0; i < n; i++){
for (int j = 0; j < n; j++){
fprintf(g, "%d ", graph[i][j]);
}
fprintf(g, "\n");
}
fclose(f);
fclose(g);
return 0;
}