Pagini recente » Cod sursa (job #1112274) | Cod sursa (job #226142) | Cod sursa (job #2605627) | Cod sursa (job #3126378) | Cod sursa (job #174193)
Cod sursa(job #174193)
#include <iostream>
#include <fstream>
using namespace std;
int N;
int D[101][101];
int main(int argc, char *argv[]) {
FILE *fi = fopen("royfloyd.in", "r");
fscanf(fi, "%d", &N);
for (int i(0); i < N; ++i)
for (int j(0); j < N; ++j)
fscanf(fi, "%d", &D[i][j]);
fclose(fi);
for (int q(0); q < N; ++q)
for (int p(0); p < N; ++p)
for (int r(0); r < N; ++r)
if ((p != r) && (p != q) && (q != r))
if (D[p][q] + D[q][r] < D[p][r])
D[p][r] = D[p][q] + D[q][r];
FILE *fo = fopen("royfloyd.out", "w");
for (int i(0); i < N; ++i) {
for (int j(0); j < N; ++j)
fprintf(fo, "%d ", D[i][j]);
fprintf(fo, "\n");
}
fclose(fo);
return 0;
}