Pagini recente » Cod sursa (job #408722) | Cod sursa (job #1934541) | Cod sursa (job #3213250) | Cod sursa (job #2214018) | Cod sursa (job #389247)
Cod sursa(job #389247)
#include <fstream>
#include <limits>
#define NMAX 128
#define mp matriceaPonderilor
using namespace std;
int matriceaPonderilor[NMAX][NMAX], N;
void Citire(void)
{
ifstream fin("royfloyd.in");
int i, j;
fin >>N;
for (i = 1; i <= N; i++)
for (j = 1; j <= N; j++)
fin >>matriceaPonderilor[i][j];
fin.close();
}
void RoyFloyd(void)
{
int k, i, j;
for (k = 1; k <= N; k++)
for (i = 1; i <= N; i++)
for (j = 1; j <= N; j++)
if (mp[i][k] && mp[k][j] && (mp[i][j] > mp[i][k] + mp[k][j] || !mp[i][j]) && i != j) mp[i][j] = mp[i][k] + mp[k][j];
}
void Afisare(void)
{
ofstream fout("royfloyd.out");
int i, j;
for (i = 1; i <= N; i++)
{
for (j = 1; j <= N; j++)
fout <<mp[i][j] <<' ';
fout <<'\n';
}
fout.close();
}
int main()
{
Citire();
RoyFloyd();
Afisare();
return 0;
}