Pagini recente » Cod sursa (job #2958982) | Cod sursa (job #2840221) | Cod sursa (job #1503212) | Cod sursa (job #3260387) | Cod sursa (job #655446)
Cod sursa(job #655446)
#include<iostream>
#include<fstream>
using namespace std;
fstream g("royfloyd.out",ios::out);
void Citeste(int &n,int A[101][101])
{
int i,j;
fstream f("royfloyd.in",ios::in);
f>>n;
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
f>>A[i][j];
f.close();
}
void Roy_Floyd(int n,int A[101][101])
{
int k,i,j;
for(k=1; k<=n; k++)
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
if(A[i][k]!=0 && A[k][j]!=0 && (A[i][j]>A[i][k]+A[k][j] || A[i][j]==0) && i!=j)
A[i][j]=A[i][k]+A[k][j];
}
void Afiseaza(int n,int A[101][101])
{
int i,j;
fstream g("royfloyd.out",ios::out);
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
g<<A[i][j]<<" ";
g<<"\n";
}
g.close();
}
int main()
{
int n,A[101][101];
Citeste(n,A);
Roy_Floyd(n,A);
Afiseaza(n,A);
return 0;
}