Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- struct el
- {
- int kp,vp,ertek;
- } e[50];
- void feltolt(int &n,int &m,el e[])
- {
- ifstream f("elek.be");
- f>>n>>m;
- for(int i=1;i<=m;i++)
- f>>e[i].kp>>e[i].vp>>e[i].ertek;
- f.close();
- }
- void rendez(int m,el e[])
- {
- int jo,mm=m;
- el x;
- do
- {
- jo=1;
- for(int i=1;i<mm;i++)
- if(e[i].ertek>e[i+1].ertek)
- {
- x=e[i];
- e[i]=e[i+1];
- e[i+1]=x;
- jo=0;
- }
- mm--;
- }while(!jo);
- }
- void feszitofa(int n,int m,el e[])
- {
- int t[20];
- for(int i=1;i<=n;i++) t[i]=i;
- int koltseg=0,db=0,k=1;
- while(db!=n-1) /*amig nem huztam meg n-1 elet*/
- {
- if(t[e[k].kp]!=t[e[k].vp]) /*ha nem alakul ki kor*/
- {
- /*meghuzhatom*/
- db++;
- koltseg=koltseg+e[k].ertek;
- cout<<"["<<e[k].kp<<","<<e[k].vp<<"] "<<e[k].ertek<<"; ";
- int h=t[e[k].vp];
- for(int i=1;i<=n;i++)
- if(t[i]==h) t[i]=t[e[k].kp];
- }
- k++;
- }
- cout<<endl<<"Koltseg: "<<koltseg;
- }
- int main()
- {
- int n,m;
- feltolt(n,m,e);
- rendez(m,e);
- for(int i=1;i<=m;i++)
- cout<<e[i].kp<<","<<e[i].vp<<","<<e[i].ertek<<"; ";
- cout<<endl<<"A feszitofa elei: ";
- feszitofa(n,m,e);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement