Advertisement
Guest User

Untitled

a guest
Apr 16th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.50 KB | None | 0 0
  1. unsigned MastermindDigits::locationsWrong(unsigned int locDigits)
  2. {
  3.     unsigned int* locArray = new unsigned int[4]; // erzeuge ein unsigned int und mache daraus ein array
  4.  
  5.     unsigned int counter{ 0 };   // zum zählen für wie viele richtige stellen
  6.  
  7.     bool puffer = false;
  8.  
  9.     for (int i = 0; i < 4; i++)     // dafür um eine 4 stellige zahl in 4 einzelne zahlen zu bringen
  10.     {
  11.         locArray[i] = locDigits % 10;   // die einzelnen werden in locArray gespeichert
  12.         locDigits /= 10;      // wird um 10 geteilt damit man im nächsten schritt modulo richtig anwenden kann
  13.     }
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.     for (int x = 0; x < 4; x++)
  29.     {
  30.         for (int y = 0; y < 4; y++)
  31.         {
  32.            
  33.  
  34.  
  35.             if (MastermindDigits::digits[x] == locArray[y] && x != y)  // gibt es zwei gleiche zahlen aufunterschiedlcihem index
  36.             {
  37.  
  38.                
  39.                 for (int j = 0; j < 4; j++) {
  40.                     for (int k = 0; k < 4; k++) {
  41.                         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
  42.                             puffer = true;  // puffer um zu schauen ob es eine gleiche zahl bereits auf dem gleichen index gibt
  43.                             break;
  44.                         }
  45.                     }
  46.  
  47.                 }
  48.                     if (puffer == false) {  // wurde keine zahl auf dem gleichen index gefunden dann zähle hoch
  49.                         counter++;
  50.                     }
  51.  
  52.                     puffer = false;  // setze puffer auf false damit eine andere Zahl freigang hat für den puffer
  53.  
  54.  
  55.  
  56.                
  57.             }
  58.            
  59.         }
  60.     }
  61.  
  62. return counter;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement