Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <list>
- #include <iterator>
- #include <vector>
- #define nVertex 10
- using namespace std;
- void stvoriGraf(vector<int> adj[], int V)
- {
- for (int i = 0; i < V; i++)
- {
- for (int j = 0; j < V; j++)
- {
- int create_edge = rand() % 5;
- if (create_edge == 1 && i != j)
- {
- adj[i].push_back(j);
- adj[j].push_back(i);
- }
- }
- }
- }
- void ispisiGraf(vector<int> adj[], int V)
- {
- int brojVeza = 0; //pomocna varijabla za prebrojavanje veza
- bool povezani[V][V]; //ovdje cemo pohranjivati vrijednosti 0 ako ne postoji veza a 1 ako postoji
- for (int i = 0; i < V; i++)
- {
- for (int j = 0; j < V; j++)
- {
- povezani[i][j] = 0; //postavljamo sve veze na 0
- }
- }
- for (int i = 0; i < V; i++)
- {
- for (auto j = adj[i].begin(); j != adj[i].end(); j++)
- {
- brojVeza = brojVeza + 1; //prebrojavamo sve veze koje postoje
- povezani[i][*j] = 1; //ako veza postoji postavljamo vrijednost na 1
- }
- }
- cout << "Broj veza u grafu je: " << brojVeza / 2 << endl;
- //cout << endl << "Veze koje je potrebno povezati: " << endl;
- for (int i = 0; i < V; i++)
- {
- //cout << "vrh " << i << " sa vrhovima: ";
- for (int j = 0; j < V; j++)
- {
- if (povezani[i][j] == 0 && i != j){ //provjeravamo ako veza ne postoji,
- //pohranjena vrijednost nam je 0
- adj[i].push_back(j);
- adj[j].push_back(i);
- povezani[i][j] = 1;
- //cout << "Stvorena je veza " << i << " - " << j << endl;
- }
- }
- //cout << endl;
- }
- int brojVeza1 = 0;
- for (int i = 0; i < V; i++)
- {
- //cout << "vrh " << i << " sa vrhovima: ";
- for (int j = 0; j < V; j++)
- {
- if (povezani[i][j] == 1 && i != j) {
- brojVeza1 = brojVeza1 + 1;
- }
- }
- //cout << endl;
- }
- cout << "Broj veza1: " << brojVeza1 / 2 << endl;
- }
- int main()
- {
- vector<int> adj[nVertex];
- stvoriGraf(adj, nVertex);
- //potrebno je prebrojati veze u grafu, potpuno povezan graf sadrzi n*(n-1)/2 veza
- int maxVeza = nVertex * (nVertex - 1) / 2;
- cout << "Max broj veza u grafu je: " << maxVeza << endl;
- ispisiGraf(adj, nVertex);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement