Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unsigned MastermindDigits::locationsWrong(unsigned int locDigits)
- {
- unsigned int* locArray = new unsigned int[4]; // erzeuge ein unsigned int und mache daraus ein array
- unsigned int counter{ 0 }; // zum zählen für wie viele richtige stellen
- bool puffer = false;
- for (int i = 0; i < 4; i++) // dafür um eine 4 stellige zahl in 4 einzelne zahlen zu bringen
- {
- locArray[i] = locDigits % 10; // die einzelnen werden in locArray gespeichert
- locDigits /= 10; // wird um 10 geteilt damit man im nächsten schritt modulo richtig anwenden kann
- }
- for (int x = 0; x < 4; x++)
- {
- for (int y = 0; y < 4; y++)
- {
- if (MastermindDigits::digits[x] == locArray[y] && x != y) // gibt es zwei gleiche zahlen aufunterschiedlcihem index
- {
- for (int j = 0; j < 4; j++) {
- for (int k = 0; k < 4; k++) {
- if (MastermindDigits::digits[j] == locArray[k] && j == k && MastermindDigits::digits[x] == MastermindDigits::digits[j]) { // überprüfe ob es die zahl schon bereits auf dem selben index vorhanden ist
- puffer = true; // puffer um zu schauen ob es eine gleiche zahl bereits auf dem gleichen index gibt
- break;
- }
- }
- }
- if (puffer == false) { // wurde keine zahl auf dem gleichen index gefunden dann zähle hoch
- counter++;
- }
- puffer = false; // setze puffer auf false damit eine andere Zahl freigang hat für den puffer
- }
- }
- }
- return counter;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement