Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- using namespace std;
- int main ()
- {
- int G[9][9] = {
- {0, 4, 0, 0, 0, 0, 0, 8, 0},
- {4, 0, 8, 0, 0, 0, 0, 11, 0},
- {0, 8, 0, 7, 0, 4, 0, 0, 2},
- {0, 0, 7, 0, 9, 14, 0, 0, 0},
- {0, 0, 0, 9, 0, 10, 0, 0, 0},
- {0, 0, 4, 14, 10, 0, 2, 0, 0},
- {0, 0, 0, 0, 0, 2, 0, 1, 6},
- {8, 11, 0, 0, 0, 0, 1, 0, 7},
- {8, 0, 2, 0, 0, 0, 6, 7, 0},
- };
- int no_edge = 0, selected[9], x, y, minimum, i, j;
- memset (selected, false, sizeof (selected));
- // selected ==> Starting address of memory to be filled
- // false ==> Value to be filled
- // sizeof(selected) ==> Number of bytes to be filled starting
- // from ptr to be filled
- //no_edge = 0;
- selected[0] = true;
- cout << "Edge" << " : " << "Weight";
- cout << endl;
- while (no_edge < 9 - 1)
- {
- minimum = 100;
- x = 0;
- y = 0;
- for (i = 0; i < 9; i++)
- {
- if (selected[i])
- {
- for (j = 0; j < 9; j++)
- {
- if (!selected[j] && G[i][j])
- {
- if (minimum > G[i][j])
- {
- minimum = G[i][j];
- x = i;
- y = j;
- }
- }
- }
- }
- }
- cout << x+1 << " - " << y+1 << " : " << G[x][y];
- cout << endl;
- selected[y] = true;
- no_edge++;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement