Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 05_kn / BullsAndCows.cpp
diff options
context:
space:
mode:
Commit8d5e9200dbc71323b28111c0e229112def9b7c4b (patch)
Author
 Angel Dimitriev <achi_d@abv.bg>
2021-11-03 18:26:07 +0200
Committer
 GitHub <noreply@github.com>
2021-11-03 18:26:07 +0200
Filesb4f37190c0d2fc83aabee00e3f240817d2283559 /Sem. 05_kn/BullsAndCows.cpp
Introduction_to_programming_FMI-8d5e9200dbc71323b28111c0e229112def9b7c4b.tar
Introduction_to_programming_FMI-8d5e9200dbc71323b28111c0e229112def9b7c4b.tar.gz
Introduction_to_programming_FMI-8d5e9200dbc71323b28111c0e229112def9b7c4b.zip
Parent174852de7b331be9ba32c485ffe97d928778b9cc (diff)
Update and rename BullsAndCows.cpp to BAndC.cpp
1 files changed, 0 insertions, 116 deletions
-rw-r--r--Sem. 05_kn/BullsAndCows.cpp116
diff --git a/Sem. 05_kn/BullsAndCows.cpp b/Sem. 05_kn/BullsAndCows.cpp
deleted file mode 100644
index 1ab2289..0000000
--- a/Sem. 05_kn/BullsAndCows.cpp
+++ /dev/null
@@ -1,116 +0,0 @@
-#include <iostream>
-using namespace std;
-// Играта - бикове и крави.
-
-
-const int DIGITS_COUNT = 3;
-
-int getNumLen(int n)
-{
- int count = 0;
- while (n != 0)
- {
- count++;
- n /= 10;
- }
- return count;
-}
-
-bool containsDigit(int n, int digit)
-{
- while (n != 0)
- {
- int lastDigit = n % 10;
-
- if (digit == lastDigit)
- return true;
-
- n /= 10;
- }
- return false;
-}
-bool containsDiffrentDigits(int n)
-{
- while (n >= 10)
- {
- int lastDigit = n % 10;
- n /= 10;
-
- if (containsDigit(n, lastDigit))
- return false;
- }
- return true;
-}
-
-bool isValid(int n)
-{
- return getNumLen(n) == DIGITS_COUNT && containsDiffrentDigits(n);
-}
-
-void userInput(int& toGuess)
-{
- do
- {
- cin >> toGuess;
- } while (!isValid(toGuess));
-}
-
-int getBulls(int toGuess, int myGuess)
-{
- int bulls = 0;
- while (toGuess != 0)
- {
- int toGuessLastDigit = toGuess % 10;
- int myGuessLastDigit = myGuess % 10;
-
- if (toGuessLastDigit == myGuessLastDigit)
- bulls++;
-
- toGuess /= 10;
- myGuess /= 10;
- }
- return bulls;
-}
-
-int getCows(int toGuess, int myGuess, int bulls)
-{
- int cows = 0;
- while (myGuess != 0)
- {
- int lastDigit = myGuess % 10;
-
- if (containsDigit(toGuess, lastDigit))
- cows++;
-
- myGuess /= 10;
- }
- return cows - bulls;
-}
-
-void getBullsAndCows(int toGuess, int myGuess, int& bulls, int& cows)
-{
- bulls = getBulls(toGuess, myGuess);
- cows = getCows(toGuess, myGuess, bulls);
-}
-
-int main()
-{
- int toGuess;
- userInput(toGuess);
-
- cout << "Try to guess:" << endl;
-
- int bulls = 0;
- int cows = 0;
-
- while (bulls != DIGITS_COUNT)
- {
- int myGuess;
- userInput(myGuess);
- getBullsAndCows(toGuess, myGuess, bulls, cows);
-
- cout << "Bulls: " << bulls << " " << ", Cows: " << cows << endl;
- }
-
- cout << "Success!" << endl;
-}