Pagini recente » Cod sursa (job #1946680) | Cod sursa (job #1519496) | Cod sursa (job #1380112) | Cod sursa (job #214554) | Cod sursa (job #574146)
Cod sursa(job #574146)
#include <stdio.h>
#include <malloc.h>
int main()
{
FILE *f,*g;
int k,i,j,n,**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++,fprintf(g,"\n"))
for(j=0;j<n;j++)
fprintf(g,"%d ",m[i][j]);
fclose(f);
return 0;
}