Pagini recente » Borderou de evaluare (job #2716239) | Monitorul de evaluare | Cod sursa (job #136590) | Borderou de evaluare (job #802608) | Cod sursa (job #709727)
Cod sursa(job #709727)
#include <fstream>
#include <stdio.h>
using namespace std;
FILE * roy;
ofstream g("royfloyd.out");
int a[103][103];
int n;
void citire()
{
int i,j;
fscanf(roy,"%d",&n);
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
fscanf(roy,"%d",&a[i][j]);
}
int minim(int x,int y)
{
if (x<y) return x;
else return y;
}
void royf()
{
int i,j,k;
for (k=1;k<=n;k++)
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
if (i!=j && a[i][k] && a[k][j] ) a[i][j]=minim(a[i][j],a[i][k]+a[k][j]);
}
void afis()
{
int i,j;
for (i=1;i<=n;i++)
{
for (j=1;j<=n;j++)
g<<a[i][j]<<' ';
g<<'\n';
}
}
int main()
{
roy=fopen("royfloyd.in","r");
citire();
royf();
afis();
return 0;
}