Pagini recente » Cod sursa (job #2008843) | Cod sursa (job #1723302) | Cod sursa (job #2013471) | Cod sursa (job #2007176) | Cod sursa (job #1710306)
#include <fstream>
using namespace std;
ifstream f("royfloyd.in");
ofstream q("royfloyd.out");
void RoyFloyd(int mat[102][102], int n);
int main() {
int n, mat[102][102];
f >> n;
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
f >> mat[i][j];
RoyFloyd(mat, n);
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
q << mat[i][j] << " ";
}
q << "\n";
}
return 0;
}
void RoyFloyd(int mat[102][102], int n) {
for (int k = 0; k < n; k++) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if ( i!=j && (mat[i][j] == 0 || mat[i][k] + mat[k][j] < mat[i][j]) && mat[i][k] != 0 && mat[k][j] != 0) mat[i][j] = mat[i][k] + mat[k][j];
}
}
}
}