Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 07
diff options
context:
space:
mode:
Commit55fc7eb3bba83f4084b2f897c61d0280a5f9c097 (patch)
Author
 angeld55 <angel_dimitriev@abv.bg>
2021-10-02 17:44:35 +0300
Committer
 angeld55 <angel_dimitriev@abv.bg>
2021-10-02 17:44:35 +0300
Files85d32a9a73f85c54162f9233f36a054ebe0de212 /Sem. 07
Introduction_to_programming_FMI-55fc7eb3bba83f4084b2f897c61d0280a5f9c097.tar
Introduction_to_programming_FMI-55fc7eb3bba83f4084b2f897c61d0280a5f9c097.tar.gz
Introduction_to_programming_FMI-55fc7eb3bba83f4084b2f897c61d0280a5f9c097.zip
Parent7f51b56297270d4a1f808bc73d082b71418a2fe0 (diff)
new
2 files changed, 0 insertions, 156 deletions
-rw-r--r--Sem. 07/BullsAndColls.cpp96
-rw-r--r--Sem. 07/README.md60
diff --git a/Sem. 07/BullsAndColls.cpp b/Sem. 07/BullsAndColls.cpp
deleted file mode 100644
index 2eb5d3c..0000000
--- a/Sem. 07/BullsAndColls.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-#include <iostream>
-#include <stdlib.h>
-using namespace std;
-
-
-//Бикове и крави.
-//Число: 1234
-//Предположение: 4253 - 2 крави (4 и 3) и 1 бик (2).
-
-bool hasDuplicateDigits(int n) ///1343
-{
- const int DIGITCOUNT = 10;
- bool found[DIGITCOUNT];
- for (int i = 0; i < DIGITCOUNT; i++)
- found[i] = false;
- while (n != 0)
- {
- int lastDigit = n % 10;
- if (found[lastDigit] == true)
- return true;
- else
- found[lastDigit] = true;
- n /= 10;
- }
- return false;
-}
-
-void convertNumberToArr(int n, int arr[])
-{
-
- for (int i = 3; i >= 0; i--)
- {
- arr[i] = n % 10;
- n /= 10;
- }
-
-}
-int countBulls(int myNumber[], int compNumber[])
-{
- int bullsCount = 0;
- for (int i = 0; i <= 3; i++)
- {
- if (myNumber[i] == compNumber[i])
- bullsCount++;
- }
- return bullsCount;
-}
-int countCows(int myNumber[], int compNumber[])
-{
- int cowsCount = 0;
-
- for (int i = 0; i <= 3; i++)
- {
- int myDigit = myNumber[i];
- for (int j = 0; j <= 3; j++)
- {
- if (j == i) // çà äà íå áðîèì áèêîâåòå
- continue;
- if (myDigit == compNumber[j])
- cowsCount++;
- }
- }
- return cowsCount;
-}
-int main()
-{
- int numberToGuess;
- do
- {
- numberToGuess = 1000 + rand() % 9000; // [1000..9999]
- }
- while (hasDuplicateDigits(numberToGuess));
-
- cout << "Computer has picked a number! Try to guess it!" <<endl;
- int numberToGuessArr[4];
-
- convertNumberToArr(numberToGuess, numberToGuessArr);
-
- int bullsCount = 0, cowsCount = 0;
- do
- {
- int myNumber;
- cin >> myNumber;
- int myNumberArr[4];
- convertNumberToArr(myNumber, myNumberArr);
-
- bullsCount = countBulls(myNumberArr, numberToGuessArr);
- cowsCount = countCows(myNumberArr, numberToGuessArr);
-
- cout << "Bulls: " << bullsCount << " Cows:" << cowsCount << endl;
-
-
- } while (bullsCount != 4);
-
- cout << "Success!" << endl;
-}
diff --git a/Sem. 07/README.md b/Sem. 07/README.md
deleted file mode 100644
index bae79b6..0000000
--- a/Sem. 07/README.md
+++ /dev/null
@@ -1,60 +0,0 @@
- - **Задача 1 (малък проект) :** Реализирайте играта **"Бикове и крави"**. Програмата ще генерира число и потребителят ще трябва да позне числото.
-
-# Масиви
-
-**Масивът** е наредена последователност от елементи от един тип. Отделен елемент на масива се достъпва посредством името на масива, последвано от поредния номер (индекс) на елемента в квадратни скоби
-
-
-
-## Инициализация на масиви
-
- ```c++
- int arr[6]; // Създава масив от 6 елемента, всеки от които е цяло число.
- int arr2[] = {0, 1, 2, 3, 4, 5}; // Създава масив от 6 елемента.
- int arr3[6] = {1,2,3}; //Останалите елементи се запълват с defaut-на стойност.
- // Задължително големината на масива трябва да е константа, чиято стойност е ясна преди да
- // се компилира програмата
-```
-
-## Достъп на елемент
-
- ```c++
- arr[3] = 44; //Присвоява на елементът на индекс 3 стойността 44.
- cout << arr[2]; //Отпечатва на стандартния изход елементът на индекс 2
- //Индексацията на масивите в с++ започва от 0!
-```
-
-
-## Извличане на размер на масив
-
- ```c++
- const int SIZE = 5;
- int arr[SIZE];
- cout << sizeof(arr) / sizeof(int);
- //Големината на масива я разделяме на големината на една променлива от този тип.
-```
-
-
-## Подаване на масиви във функции
- ```c++
- #include <iostream>
- using namespace std;
- void print(int arr[], int len)
- {
- for(int i = 0; i < len; i++)
- {
- cout << arr[i] << " ";
- }
- }
- int main()
- {
- const int SIZE = 5;
- int arr[SIZE] {1,2,3,4};
-
- print(arr,SIZE);
-
- return 0;
- }
-```
- Масивите се подават във функциите по адрес! Т.е промените, които се правят върху масива във функцията, ще се отразят върху подадения като параметър масив!
-