Skip to content
This repository was archived by the owner on May 27, 2019. It is now read-only.

Commit d26d2bd

Browse files
committed
Merge branch 'quick-fixes' into development
2 parents ca1a5e8 + eaf2ec1 commit d26d2bd

File tree

6 files changed

+16
-8
lines changed

6 files changed

+16
-8
lines changed

DirectedGraph.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ std::string DirectedGraph::getAvailableAlgorithms() {
2020
return output;
2121
}
2222

23-
void DirectedGraph::generate(int numberOfVertices, int density) {
23+
void DirectedGraph::generate(int numberOfVertices, int density, int range) {
2424
double dens = (double)density / 100;
2525
dens *= numberOfVertices * (numberOfVertices - 1);
2626
int numberOfEdges = round(dens);
@@ -42,7 +42,7 @@ void DirectedGraph::generate(int numberOfVertices, int density) {
4242
std::uniform_int_distribution<int> randomVertex(0, numberOfVertices - 1);
4343
// std::uniform_int_distribution<int> randomEdge(0, numberOfEdges - 1);
4444
// std::uniform_int_distribution<int> randomValue(1, 15);
45-
std::uniform_int_distribution<int> randomValue(1, INT32_MAX);
45+
std::uniform_int_distribution<int> randomValue(1, range);
4646

4747
int beginningVertex = 0;
4848
int endVertex = 0;

DirectedGraph.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class DirectedGraph : public Graph {
1414

1515
std::string getAvailableAlgorithms() override;
1616

17-
void generate(int numberOfVertices, int density) override;
17+
void generate(int numberOfVertices, int density, int range) override;
1818

1919
std::string runAlgorithm(char index, char arg1, int arg2, int arg3) override;
2020

Graph.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class Graph {
4343

4444
void loadDataFrom(std::string fileName);
4545

46-
virtual void generate(int numberOfVertices, int density)= 0;
46+
virtual void generate(int numberOfVertices, int density, int range)= 0;
4747

4848
virtual std::string runAlgorithm(char index, char arg1, int arg2, int arg3)= 0;
4949

Program.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ void Program::start() {
2222
string list;
2323
char index;
2424
string result;
25+
int range;
2526

2627
do {
2728
printGraphTypeSelect();
@@ -82,8 +83,14 @@ void Program::start() {
8283
cin.ignore(numeric_limits<streamsize>::max(), '\n');
8384
cerr << "Bledna wartosc! Podaj gestosc grafu: ";
8485
}
86+
cout << "Wagi krawedzi beda generowane z zakresu [1, max_value]. Podaj maksymalna wartosc: ";
87+
while (!(cin >> range)) {
88+
cin.clear();
89+
cin.ignore(numeric_limits<streamsize>::max(), '\n');
90+
cerr << "Bledna wartosc! Podaj maksymalna wartosc: : ";
91+
}
8592

86-
graph->generate(numberOfVerticles, density);
93+
graph->generate(numberOfVerticles, density, range);
8794
break;
8895

8996
case '3': // wyswietl macierz

UndirectedGraph.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ std::string UndirectedGraph::getAvailableAlgorithms() {
2222
return output;
2323
}
2424

25-
void UndirectedGraph::generate(int numberOfVertices, int density) {
25+
void UndirectedGraph::generate(int numberOfVertices, int density, int range) {
2626
double dens = (double)density / 100;
2727
dens *= numberOfVertices * (numberOfVertices - 1);
2828
dens /= 2;
@@ -45,7 +45,7 @@ void UndirectedGraph::generate(int numberOfVertices, int density) {
4545
std::uniform_int_distribution<int> randomVertex(0, numberOfVertices - 1);
4646
// std::uniform_int_distribution<int> randomEdge(0, numberOfEdges - 1);
4747
// std::uniform_int_distribution<int> randomValue(1, 15);
48-
std::uniform_int_distribution<int> randomValue(1, INT32_MAX);
48+
std::uniform_int_distribution<int> randomValue(1, range);
4949

5050
int beginningVertex = 0;
5151
int endVertex = 0;
@@ -266,6 +266,7 @@ string UndirectedGraph::primsAlgorithmOnList() {
266266
foundVertices.push_back(edgeEnd);
267267

268268
minimumSpanningTree[vertexID].push_front({edgeEnd, edgeValue});
269+
minimumSpanningTree[edgeEnd].push_front({vertexID, edgeValue});
269270

270271
vertexID = edgeEnd;
271272
j++;

UndirectedGraph.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class UndirectedGraph : public Graph {
1414

1515
std::string getAvailableAlgorithms() override;
1616

17-
void generate(int numberOfVertices, int density) override;
17+
void generate(int numberOfVertices, int density, int range) override;
1818

1919
std::string runAlgorithm(char index, char arg1, int arg2, int arg3) override;
2020

0 commit comments

Comments
 (0)