Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //---------------------------------------------------------------------------
- #include <vcl.h>
- #pragma hdrstop
- #include<iostream.h>
- #include<string.h>
- #include<stdio.h>
- #include<stdlib.h>
- #include<conio.h>
- #define word unsigned int
- //---------------------------------------------------------------------------
- int a, b, u, v, n, i, j, ne=1;
- int visited[10]={0}, m, mincost=0, cost[10][10];
- void main()
- {
- int path[100]={0}; //
- int path_index=0;
- clrscr();
- cout<<"VVedite kolichestvo vershin "; cin>>n;
- cout<<"vvedite matritsy rasstoyaniu\n";
- for(i=1;i<=n;i++)
- for(j=1;j<=n;j++)
- {
- cin>>cost[i][j];
- if(cost[i][j]==0)
- cost[i][j]=999; //999 }
- visited[1]=1;
- cout<<"\n";
- while(ne < n)
- {
- for(i=1, m=999; i<=n;i++)
- for(j=1; j<=n; j++)
- if(cost[i][j]< m)
- if(visited[i]!=0)
- {
- m=cost[i][j];
- a=u=i;
- b=v=j;
- }
- if(visited[u]==0 || visited[v]==0)
- {
- path[path_index]=b;
- path_index++;
- //cout<<"\n "<<ne++<<" "<<a<<" "<<b<<min; //
- ne++; //
- mincost+=m;
- visited[b]=1;
- }
- cost[a][b]=cost[b][a]=999;
- }
- cout<<"\n";
- cout<<1<<" --> ";
- for (int i=0;i<n-1;i++)
- {
- cout<<path[i];
- if (i<n-2) cout<<" --> ";
- }
- cout<<"\n minimum rasstouanie "<<mincost;
- cin.get();
- cin.get();
- }
- //---------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement