Pagini recente » Cod sursa (job #2173222) | Cod sursa (job #2773716) | Cod sursa (job #2614300) | Cod sursa (job #803160) | Cod sursa (job #981159)
Cod sursa(job #981159)
#include <cstdio>
using namespace std;
int n,x[100][100];
void citire(){
int i,j;
FILE *f=fopen("royfloyd.in","r");
fscanf(f,"%d",&n);
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
fscanf(f,"%d",&x[i][j]);
}
}
}
void afisare(){
int i,j;
FILE *g=fopen("royfloyd.out","w");
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
fprintf(g,"%d ",x[i][j]);
}
fprintf(g,"\n");
}
}
void floyd(){
int i,k,j;
for(k=1;k<=n;k++){
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
if(i!=j&&x[i][k]!=0&&x[k][j]!=0&&(x[i][j]>x[i][k]+x[k][j]||x[i][j]==0)){
x[i][j]=x[i][k]+x[k][j];
}
}
}
}
}
int main()
{
citire();
floyd();
afisare();
return 0;
}