Pagini recente » Cod sursa (job #1532038) | Cod sursa (job #1930018) | Cod sursa (job #1374821) | Cod sursa (job #2781384) | Cod sursa (job #1076558)
#include <iostream>
#include <fstream>
using namespace std;
short int N, Matr[101][101];
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
void Citire()
{
fin>>N;
for (short int i=1; i<=N; ++i)
for(short int j=1; j<=N; ++j)
fin>>Matr[i][j];
}
void Construire()
{
for(short int k=1; k<=N; k++)
for(short int i=1; i<=N; i++)
for(short int j=1; j<=N; j++)
if(Matr[i][k] && Matr[k][j] && i!=j && ((Matr[i][j]>Matr[i][k]+Matr[k][j]) || (!Matr[i][j])))
Matr[i][j]=Matr[i][k]+Matr[k][j];
}
void Afisare()
{
for (short int i=1; i<=N; ++i)
{
for(short int j=1; j<=N; ++j)
fout<<Matr[i][j]<<' ';
fout<<'\n';
}
}
int main()
{
Citire();
Construire();
Afisare();
}