
Se dă fișierul:
graf.txt:
5
1 2 2
1 5 3
3 5 4
4 3 4
3 2 7
4 1 2
5 2 5
4 2 1
#include<iostream>
#include<fstream>
using namespace std;
int n,S[50],i,j,k,C,lin,col;
float Min,c[50][50];
void Citesc()
{
fstream f("graf.txt");
f>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i==j)
c[i][j]=0;
else
c[i][j]=c[j][i];
while(f>>i>>j>>C)
c[i][j]=c[j][i]=C;
f.close();
}
main()
{
Citesc();
for(i=2;i<=n;i++)
S[i]=1;
for(k=1;k<=n-1;k++)
{
Min=PInfinit;
for(i=1;i<=n;i++)
if(S[i])
if(Min>c[S[i]][i])
{
Min=c[S[i]][i];
j=i;
}
cout<<S[j]<<" "<<j<<" "<<c[j][S[j]]<<endl;
for(i=1;i<=n;i++)
if(S[i] && c[i][S[i]]>c[i][j])
S[i]=j;
S[j]=0;
}
return 0;
}