Pagini recente » Cod sursa (job #998265) | Cod sursa (job #3204923) | Cod sursa (job #289685) | Cod sursa (job #219429) | Cod sursa (job #2222254)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
void citire(int n, int a[100][100]){
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
f>>a[i][j];}
void roy_floyd(int n,int a[100][100]){
for(int k=0;k<n;k++) for(int i=0;i<n;i++) for(int j=0;j<n;j++)
if((a[i][k]&&a[k][j]&&(a[i][j]>a[i][k]+a[k][j]))||(!a[i][j]&&i!=j)) a[i][j]=a[i][k]+a[k][j];}
void afisare (int n,int a[100][100]){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++) g<<a[i][j]<<" ";
g<<"\n";}}
int main(){
int i,j,n,a[100][100];
f>>n;
citire(n,a);
roy_floyd(n,a);
afisare(n,a);
return 0;}