Pagini recente » Cod sursa (job #440848) | Cod sursa (job #1781936) | Cod sursa (job #2433150) | Cod sursa (job #315897) | Cod sursa (job #574157)
Cod sursa(job #574157)
#include <stdio.h>
#include <malloc.h>
int main()
{
FILE *f,*g;
int n,i,j,k;
int **m;
f=fopen("royfloyd.in", "r");
g=fopen("royfloyd.out", "w");
fscanf(f,"%d",&n);
m=(int**)malloc(n*sizeof(int*));
for(i=0;i<n;i++)
{
m[i]=(int*)malloc(n*sizeof(int));
for(j=0;j<n;j++)
fscanf(f,"%d",&m[i][j]);
}
for(k=0;k<n;k++)
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if((m[i][k]*m[k][j]!=0)&&((m[i][k]+m[k][j]<m[i][j])||(m[i][j]==0)))
m[i][j]=m[i][k]+m[k][j];
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
fprintf(g,"%d ",m[i][j]);
fprintf(g,"\n");
}
}