Pagini recente » Cod sursa (job #3271058) | Cod sursa (job #167548) | Cod sursa (job #408464) | Cod sursa (job #2693954) | Cod sursa (job #1104122)
#include <stdio.h>
#include <malloc.h>
int main()
{
FILE*fp;
int **a;
int N;
int i,j,k;
fp=fopen("royfloyd.in","r");
fscanf(fp,"%d",&N);
a=(int**)malloc(sizeof(int*)*N);
for(i=0;i<N;i++)
*(a+i)=(int*)malloc(sizeof(int)*N);
for(i=0;i<N;i++)
for(j=0;j<N;j++)
fscanf(fp,"%d",&*(*(a+i)+j));
fclose(fp);
for(k=0;k<N;k++)
for(i=0;i<N;i++)
for(j=0;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);
fp=fopen("royfloyd.out","w");
for(i=0;i<N;i++){
for(j=0;j<N;j++)
fprintf(fp,"%d ",*(*(a+i)+j));
fprintf(fp,"\n");
}
fclose(fp);
return 0;
}