Pagini recente » Cod sursa (job #177315) | Cod sursa (job #2637063) | Cod sursa (job #2824738) | Cod sursa (job #1063650) | Cod sursa (job #758583)
Cod sursa(job #758583)
#include <stdio.h>
int main() {
FILE *f = fopen("royfloyd.in", "r"), *g = fopen("royfloyd.out", "w");
int n;
fscanf(f, "%d", &n);
int **ponderi = new int*[n];
for(int i = 0; i < n; i++)
ponderi[i] = new int[n];
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
fscanf(f, "%d", &ponderi[i][j]);
for(int k = 0; k < n; k++)
for(int i = 0; k < n; k++)
for(int j = 0; j < n; j++)
if(i != j && j != k && i != k && ponderi[i][k] + ponderi[k][j] < ponderi[i][j])
ponderi[i][j] = ponderi[i][k] + ponderi[k][j];
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++)
fprintf(g, "%d ", ponderi[i][j]);
fprintf(g, "\n");
}
fclose(f);
fclose(g);
return 0;
}