Small fixes and additions

Gael: Bitte implementiere die fehlenden Funktionen und den Enumerator
This commit is contained in:
Jonny007-MKD 2013-11-12 21:58:33 +01:00
parent cff4e58090
commit 6e27485b08
3 changed files with 22 additions and 23 deletions

View file

@ -1,6 +1,6 @@
#include "stdafx.h"
#include <string> #include <string>
#include <vector> #include <vector>
#include "stdafx.h"
#include "PrimImplikant.h" #include "PrimImplikant.h"
using namespace std; using namespace std;
@ -18,7 +18,7 @@ void PrimImplikant::parser(string input) { // Analyser
int implikant = 0; int implikant = 0;
string text0 = ""; string text0 = "";
string text1 = ""; string text1 = "";
for (int i = 0; i < input.size(); i++) for (unsigned int i = 0; i < input.size(); i++)
{ {
char c = input[i]; char c = input[i];
if (c == 'x' || c == 'X') if (c == 'x' || c == 'X')

View file

@ -5,40 +5,39 @@
using namespace std; using namespace std;
void PrimImplikantCollection::add(PrimImplikant &PI) void PrimImplikantCollection::add(PrimImplikant* &PI)
{ {
PIVector.push_back(PI); PIVector.push_back(PI);
} }
void PrimImplikantCollection::add(string input) void PrimImplikantCollection::add(string input)
{ {
PrimImplikant PI(input); PrimImplikant* PI = new PrimImplikant(input);
PIVector.push_back(PI); PIVector.push_back(PI);
} }
void PrimImplikantCollection::add(int input) void PrimImplikantCollection::add(int input)
{ {
PrimImplikant PI(input); PrimImplikant* PI = new PrimImplikant(input);
PIVector.push_back(PI); PIVector.push_back(PI);
} }
bool PrimImplikantCollection::valueAt(int position) bool PrimImplikantCollection::valueAt(int position)
{ {
for (vector<PrimImplikant>::iterator i = PIVector.begin(); i < PIVector.end(); i++) for (vector<PrimImplikant*>::iterator i = PIVector.begin(); i < PIVector.end(); i++)
if (i->valueAt(position)) if ((*i)->valueAt(position))
return true; return true;
return false; return false;
} }
vector<PrimImplikant> PrimImplikantCollection::primImplikantenAt(int position) PrimImplikantCollection PrimImplikantCollection::primImplikantenAt(int position)
{ {
vector<PrimImplikant> pic; PrimImplikantCollection pic;
for (vector<PrimImplikant>::iterator i = PIVector.begin(); i < PIVector.end(); i++) for (vector<PrimImplikant*>::iterator i = PIVector.begin(); i < PIVector.end(); i++)
if (i->valueAt(position)) if ((*i)->valueAt(position))
pic.push_back(*i); pic.add(*i);
return pic; return pic;
} }
PrimImplikant PrimImplikantCollection::solveNextHazard() unsigned int PrimImplikantCollection::size()
{ {
PrimImplikant PI(0); return this->PIVector.size();
return PI;
} }

View file

@ -1,25 +1,25 @@
#ifndef PRIMIMPLIKANTCOLLEC
#define PRIMIMPLIKANTCOLLEC
#include <string> #include <string>
#include <vector> #include <vector>
#include "PrimImplikant.h" #include "PrimImplikant.h"
using namespace std; using namespace std;
#ifndef PRIMIMPLIKANTCOLLEC
#define PRIMIMPLIKANTCOLLEC
class PrimImplikantCollection{ class PrimImplikantCollection{
public: public:
void add(PrimImplikant &PI); void add(PrimImplikant* &PI);
void add(string input); void add(string input);
void add(int input); void add(int input);
bool valueAt(int position); bool valueAt(int position);
vector<PrimImplikant> primImplikantenAt(int position); PrimImplikantCollection primImplikantenAt(int position);
unsigned int size();
PrimImplikant solveNextHazard(); void deleteAll();
private: private:
vector<PrimImplikant> PIVector; vector<PrimImplikant*> PIVector;
}; };
#endif #endif