From 6e27485b08f15663597e0d80ecf83752557be5aa Mon Sep 17 00:00:00 2001 From: Jonny007-MKD <1-23-4-5@web.de> Date: Tue, 12 Nov 2013 21:58:33 +0100 Subject: [PATCH] Small fixes and additions Gael: Bitte implementiere die fehlenden Funktionen und den Enumerator --- Hazard/Hazard/PrimImplikant.cpp | 4 ++-- Hazard/Hazard/PrimImplikantCollection.cpp | 25 +++++++++++------------ Hazard/Hazard/PrimImplikantCollection.h | 16 +++++++-------- 3 files changed, 22 insertions(+), 23 deletions(-) diff --git a/Hazard/Hazard/PrimImplikant.cpp b/Hazard/Hazard/PrimImplikant.cpp index aab6d48..2985a42 100644 --- a/Hazard/Hazard/PrimImplikant.cpp +++ b/Hazard/Hazard/PrimImplikant.cpp @@ -1,6 +1,6 @@ +#include "stdafx.h" #include #include -#include "stdafx.h" #include "PrimImplikant.h" using namespace std; @@ -18,7 +18,7 @@ void PrimImplikant::parser(string input) { // Analyser int implikant = 0; string text0 = ""; string text1 = ""; - for (int i = 0; i < input.size(); i++) + for (unsigned int i = 0; i < input.size(); i++) { char c = input[i]; if (c == 'x' || c == 'X') diff --git a/Hazard/Hazard/PrimImplikantCollection.cpp b/Hazard/Hazard/PrimImplikantCollection.cpp index 53329b2..ebda576 100644 --- a/Hazard/Hazard/PrimImplikantCollection.cpp +++ b/Hazard/Hazard/PrimImplikantCollection.cpp @@ -5,40 +5,39 @@ using namespace std; -void PrimImplikantCollection::add(PrimImplikant &PI) +void PrimImplikantCollection::add(PrimImplikant* &PI) { PIVector.push_back(PI); } void PrimImplikantCollection::add(string input) { - PrimImplikant PI(input); + PrimImplikant* PI = new PrimImplikant(input); PIVector.push_back(PI); } void PrimImplikantCollection::add(int input) { - PrimImplikant PI(input); + PrimImplikant* PI = new PrimImplikant(input); PIVector.push_back(PI); } bool PrimImplikantCollection::valueAt(int position) { - for (vector::iterator i = PIVector.begin(); i < PIVector.end(); i++) - if (i->valueAt(position)) + for (vector::iterator i = PIVector.begin(); i < PIVector.end(); i++) + if ((*i)->valueAt(position)) return true; return false; } -vector PrimImplikantCollection::primImplikantenAt(int position) +PrimImplikantCollection PrimImplikantCollection::primImplikantenAt(int position) { - vector pic; - for (vector::iterator i = PIVector.begin(); i < PIVector.end(); i++) - if (i->valueAt(position)) - pic.push_back(*i); + PrimImplikantCollection pic; + for (vector::iterator i = PIVector.begin(); i < PIVector.end(); i++) + if ((*i)->valueAt(position)) + pic.add(*i); return pic; } -PrimImplikant PrimImplikantCollection::solveNextHazard() +unsigned int PrimImplikantCollection::size() { - PrimImplikant PI(0); - return PI; + return this->PIVector.size(); } \ No newline at end of file diff --git a/Hazard/Hazard/PrimImplikantCollection.h b/Hazard/Hazard/PrimImplikantCollection.h index 5131888..8f6eb1d 100644 --- a/Hazard/Hazard/PrimImplikantCollection.h +++ b/Hazard/Hazard/PrimImplikantCollection.h @@ -1,25 +1,25 @@ -#ifndef PRIMIMPLIKANTCOLLEC -#define PRIMIMPLIKANTCOLLEC - #include #include #include "PrimImplikant.h" using namespace std; +#ifndef PRIMIMPLIKANTCOLLEC +#define PRIMIMPLIKANTCOLLEC + class PrimImplikantCollection{ public: - void add(PrimImplikant &PI); + void add(PrimImplikant* &PI); void add(string input); void add(int input); bool valueAt(int position); - vector primImplikantenAt(int position); - - PrimImplikant solveNextHazard(); + PrimImplikantCollection primImplikantenAt(int position); + unsigned int size(); + void deleteAll(); private: - vector PIVector; + vector PIVector; }; #endif \ No newline at end of file