Pagini recente » Cod sursa (job #1179355) | Cod sursa (job #1685199) | Cod sursa (job #2918668) | Cod sursa (job #219148) | Cod sursa (job #641748)
Cod sursa(job #641748)
#include<stdio.h>
#include<stdlib.h>
int **m,i,j,k,n;
FILE *in,*out;
void read(){
fscanf(in,"%d",&n);
m=(int**)malloc(n*sizeof(int*));
for(i=0; i<n; i++)
m[i]=(int*)malloc(n*sizeof(int));
for(i=0; i<n; i++)
for( j=0; j<n; j++)
fscanf(in,"%d",&m[i][j]);
}
void print(){
for(i=0; i<n; i++){
for(j=0; j<n; j++)
fprintf(out,"%d ",m[i][j]);
fprintf(out,"\n");
}
}
void royfloyd(){
for(k=0; k<n; k++){
for(i=0; i<n; i++){
for(j=0; j<n; j++)
m[i][j]=(m[i][j]>m[i][k]+m[k][j]) ? m[i][k]+m[k][j] : m[i][j];
}
}
}
int main(){
in=fopen("royfloyd.in","r");
out=fopen("royfloyd.out","w");
read();
fclose(in);
royfloyd();
print();
fclose(out);
return 0;
}