Pagini recente » Cod sursa (job #244072) | Cod sursa (job #2128259) | Cod sursa (job #2909636) | Cod sursa (job #355182) | Cod sursa (job #490382)
Cod sursa(job #490382)
#include<stdio.h>
using namespace std;
int a[105][105],n;
void citire()
{
int i,j;
FILE *f=fopen("royfloyd.in","r");
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
fscanf(f,"%d",&a[i][j]);
fclose(f);
}
void royfloyd()
{
int i,j,k;
for(k=1;k<=n;k++)
for(i=1;i<=n;i++)
for(j=1;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 ];
}
void afisare()
{
FILE *g=fopen("royfloyd.out","w");
int i,j;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
fprintf(g,"%d ",a[i][j]);
fprintf(g,"\n");
}
fclose(g);
}
int main()
{
citire();
royfloyd();
afisare();
return 0;
}