07_STD_MP: weitere Vergleiche in Arbeit

Signed-off-by: Johannes Theiner <j.theiner@live.de>
This commit is contained in:
Johannes Theiner 2018-11-16 15:31:04 +01:00
parent 65ea034511
commit 789099fbde
1 changed files with 10 additions and 2 deletions

View File

@ -18,6 +18,7 @@ struct BinaryOctet {
}; };
int main() { int main() {
std::srand(static_cast<unsigned int>(std::time(0)));
int array[41]; int array[41];
std::default_random_engine generator; std::default_random_engine generator;
@ -34,6 +35,7 @@ int main() {
//TODO: Punkte gleichmässig verteilen //TODO: Punkte gleichmässig verteilen
int stringSimilarity(std::string string1, std::string string2) { int stringSimilarity(std::string string1, std::string string2) {
std::string alphabet = "abcdefghijklmnopqrstuvwxyzäöü";
//wenn gleicher String, gleich 100 Punkte geben, spart den Rest //wenn gleicher String, gleich 100 Punkte geben, spart den Rest
if(string1 == string2) return 100; if(string1 == string2) return 100;
int points = 0; int points = 0;
@ -60,15 +62,22 @@ int stringSimilarity(std::string string1, std::string string2) {
int equalCharCount = 0; int equalCharCount = 0;
for(std::pair<char, int> c : characterCount) { for(std::pair<char, int> c : characterCount) {
//gleiche Anzahl an gleichen Zeichen in beiden überprüfen
int charCount = c.second / 2; int charCount = c.second / 2;
if(charCount == string1map[c.first] && charCount == string2map[c.first]) { if(charCount == string1map[c.first] && charCount == string2map[c.first]) {
equalCharCount++; equalCharCount++;
} }
if(isupper(c.first)) c.first = tolower(c.first);
} }
//gleiche Anzahl an gleichen Zeichen +10 Punkte //gleiche Anzahl an gleichen Zeichen +10 Punkte
if(equalCharCount == characterCount.size()) points += 10; if(equalCharCount == characterCount.size()) points += 10;
//TODO: Punkte für gleiche Buchstaben und gleiche Buchstaben Anzahl vergeben //TODO: Punkte für gleiche Buchstaben und gleiche Buchstaben Anzahl vergeben
@ -98,6 +107,5 @@ void unittest_stringSimilarity() {
"At vero eos et accusam et justo duo dolores " "At vero eos et accusam et justo duo dolores "
"et ea rebum. Stet clita kasd gubergren, " "et ea rebum. Stet clita kasd gubergren, "
"no sea takimata sanctus est Lorem ipsum " "no sea takimata sanctus est Lorem ipsum "
"dolor sit amet.", "dolor sit amet.", "Lorem ipsum") << std::endl;
"Lorem ipsum") << std::endl;
} }