Pagini recente » Cod sursa (job #1114463) | Cod sursa (job #3330337) | Cod sursa (job #442267) | Cod sursa (job #3308451) | Cod sursa (job #289238)
Cod sursa(job #289238)
#include <stdio>
#define NMAX 103
long a[NMAX][NMAX],n;
using namespace std;
void citire()
{
FILE *fin=fopen("royfloyd.in","r");
fscanf(fin,"%d",&n);
int i,j;
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
fscanf(fin,"%ld",&a[i][j]);
fclose(fin);
}
void afisare()
{
FILE *fout=fopen("royfloyd.out","w");
int i,j;
for (i=1;i<=n;i++)
{
a[i][i]=0;
for (j=1;j<=n;j++)
fprintf(fout,"%ld ",a[i][j]);
fprintf(fout,"\n");
}
fclose(fout);
}
int main()
{
citire();
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])
if (!a[i][j]||a[i][j]>a[i][k]+a[k][j])
a[i][j]=a[i][k]+a[k][j];
afisare();
return 0;
}