Pagini recente » Cod sursa (job #558225) | Cod sursa (job #862474) | Cod sursa (job #2081899) | Cod sursa (job #1918052) | Cod sursa (job #1124481)
#include <fstream>
#include <stdio.h>
using namespace std;
int main()
{
FILE *fin = fopen("royfloyd.in","r");
FILE *fout = fopen("royfloyd.out","w");
int n, mat[100][100],i,j,k;
fscanf(fin,"%d ", &n);
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
fscanf(fin, "%d ", &mat[i][j]);
}
for (k=0;k<n;k++)
for (i=0;i<n;i++)
for (j=0;j<n;j++)
if ((mat[i][j] > mat[i][k] + mat[k][j] && mat[i][k]!=0 && mat[k][j]!=0) || (mat[i][j]==0 && mat[i][k]!=0 && mat[j][k]!=0 && i!=j))
mat[i][j] = mat[i][k] + mat[k][j];
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
fprintf(fout, "%d ", mat[i][j]);
fprintf(fout, "\n");
}
fclose(fin);
fclose(fout);
return 0;
}