Pagini recente » Cod sursa (job #135372) | Cod sursa (job #268849) | Cod sursa (job #1612814) | Cod sursa (job #374799) | Cod sursa (job #1009617)
#include <stdio.h>
#define N 101
int mat[N][N];
int main ()
{
FILE *fin=fopen("royfloyd.in","r");
FILE *fout=fopen("royfloyd.out","w");
int i,j,k,n;
fscanf(fin,"%d",&n);
for(i=1;i<=n;i++)
{ for(j=1;j<=n;j++)
{ fscanf(fin,"%d",&mat[i][j]);
}
}
for(i=1;i<=n;i++)
{ for(j=1;j<=n;j++)
{ for(k=1;k<=n;k++)
{ if(mat[j][i]!=0 && mat[i][k]!=0)
{ if(mat[j][k]==0&&j!=k)
{ mat[j][k]=mat[j][i]+mat[i][k];
}
else if(mat[j][i]+mat[i][k]<mat[j][k])
{ mat[j][k]=mat[j][i]+mat[i][k];
}
}
}
}
}
for(i=1;i<=n;i++)
{ for(j=1;j<=n;j++)
{ fprintf(fout,"%d ",mat[i][j]);
}
fprintf(fout,"\n");
}
/*
for(i=1;i<=n;i++)
{ for(j=1;j<=n;j++)
{ fprintf(fout,"%d ",str[i][j]);
}
fprintf(fout,"\n");
}
*/
return 0;
}