Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include<stdbool.h>
- int main()
- {
- int n;
- printf("insert the number of ver :");
- scanf("%d",&n);
- int x[n][n];
- bool visited [n];
- int nedges=0;
- int tw = 0;
- int i=0, j=0;
- for (i=0;i<n;i++)
- { j=0;
- for (j=j+i;j<n;j++)
- {
- if(i==j)
- {
- x[i][j]=0;
- }else
- {
- printf("\n enter the weight of the edge from %d to %d \n ",i,j);
- scanf("%d",&x[i][j]);
- //x[i][j]= rand()%999;
- x[j][i]=x[i][j];
- }
- }
- }
- for (i=0;i<n;i++)
- {
- visited [i]=false;
- for (j=0;j<n;j++)
- {
- printf("%d \t",x[i][j]);
- }
- printf("\n");
- }
- int min;
- int a ,b,s;
- printf("\n from which node do you want to start : ");
- scanf("%d",&s);
- visited[s]= true;
- while(nedges<n-1)
- { min =999;
- a=0;
- b=0;
- for(i=0;i<n;i++)
- {
- if (visited[i]==true)
- {
- for(j=0;j<n;j++)
- {
- if (visited[j]!=true&&x[i][j]!=0)
- {
- if (min > x[i][j])
- {
- min = x[i][j];
- a = i ;
- b = j ;
- }
- }
- }
- }
- }
- tw = tw + x[a][b];
- printf("\n from %d to %d \n",a,b );
- visited[b]=true;
- printf("\n total weight : %d \n" ,tw);
- nedges++;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement