Pagini recente » Istoria paginii runda/prbd2 | Cod sursa (job #48972) | Cod sursa (job #2496121) | Cod sursa (job #1037176) | Cod sursa (job #361296)
Cod sursa(job #361296)
#include<stdio.h>
#define max 101
int A[max][max],n;
void data(){
FILE *f=fopen("royfloyd.in","r");
fscanf(f,"%d",&n);
int i,j;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
fscanf(f,"%d",&A[i][j]);
}
int main(){
FILE *g=fopen("royfloyd.out","w");
data();
int i,j,k;
for(k=1;k<=n;k++)
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if( A[i][k] && A[k][j] && ( A[i][j] > A[i][k] + A[k][j] ) || ( !A[i][j] && i!=j ) )
A[i][j] = A[i][k] + A[k][j];
for( i=1 ; i<=n ; i++){
for( j=1; j<=n; j++)
fprintf(g,"%d ",A[i][j]);
fprintf(g,"\n");
}
return 0;
}