Pagini recente » Cod sursa (job #2370157) | Cod sursa (job #3163596) | Cod sursa (job #1095660) | Cod sursa (job #784210) | Cod sursa (job #1923038)
#include<stdio.h>
#define N 101
int a[N][N];
int n;
void roy_floyd (){
int k,i,j;
for (k=1;k<=n;k++)
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
if (i != j)
if (a[i][k] != 0 && a[k][j] != 0)
if (a[i][j] > a[i][k] + a[k][j] || a[i][j] == 0)
a[i][j] = a[i][k] + a[k][j];
}
int main (){
FILE *in, *out;
in = fopen ("royfloyd.in","r");
out = fopen ("royfloyd.out","w");
int i,j;
fscanf(in,"%d",&n);
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
fscanf(in,"%d",&a[i][j]);
roy_floyd ();
for (i=1;i<=n;i++){
for (j=1;j<=n;j++)
fprintf (out,"%d ",a[i][j]);
fprintf (out,"\n");
}
fclose (in);
fclose (out);
return 0;
}