Pagini recente » Cod sursa (job #1597995) | Cod sursa (job #2549836) | Cod sursa (job #2758104) | Cod sursa (job #1556615) | Cod sursa (job #2428101)
#include <iostream>
#include<fstream>
using namespace std;
int NumberOfElements,PathMatrix[105][105];
void Read_Initial_Matrix()
{
ifstream f("royfloyd.in");
f>>NumberOfElements;
for(int i=1;i<=NumberOfElements;i++)
{
for(int j=1;j<=NumberOfElements;j++)
{
f>>PathMatrix[i][j];
}
}
f.close();
}
void Roy_Floyd()
{
for(int k=1;k<=NumberOfElements;k++)
{
for(int i=1;i<=NumberOfElements;i++)
{
for(int j=1;j<=NumberOfElements;j++)
{
if(PathMatrix[i][k]!=0 && PathMatrix[k][j]!=0 || PathMatrix[i][j]==0)
PathMatrix[i][j]=min(PathMatrix[i][j],PathMatrix[i][k]+PathMatrix[k][j]);
}
}
}
}
void Write_Path_Matrix()
{
ofstream g("royfloyd.out");
for(int i=1;i<=NumberOfElements;i++)
{
for(int j=1;j<=NumberOfElements;j++)
{
g<<PathMatrix[i][j]<<" ";
}
g<<"\n";
}
g.close();
}
int main()
{
Read_Initial_Matrix();
Roy_Floyd();
Write_Path_Matrix();
return 0;
}