Website Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commit7909c24701e6d727343f206f6ddda6472a361ef2 (patch)
Author
 Angel Dimitriev <achi_d@abv.bg>
2021-12-13 07:19:09 -0500
Committer
 GitHub <noreply@github.com>
2021-12-13 07:19:09 -0500
Files82630efba8b5d16454f6a8a0e6126d5baa81fc1a
Introduction_to_programming_FMI-7909c24701e6d727343f206f6ddda6472a361ef2.tar
Introduction_to_programming_FMI-7909c24701e6d727343f206f6ddda6472a361ef2.tar.gz
Introduction_to_programming_FMI-7909c24701e6d727343f206f6ddda6472a361ef2.zip
Parent410a7ad0952cdbe70012a85e902232ec5438cb0d (diff)
Update README.md
1 files changed, 74 insertions, 2 deletions
-rw-r--r--Sem. 09/README.md76
diff --git a/Sem. 09/README.md b/Sem. 09/README.md
index 414ef4a..9640ad5 100644
--- a/Sem. 09/README.md
+++ b/Sem. 09/README.md
@@ -1,3 +1,75 @@
-TBI
-задачата със стринговете в solutions на миналия семинар.
+# Многомерни масиви
+
+## Двумерни масиви.
+
+ ```c++
+int matrix1[3][4]; // създава се матрица с 3 реда и 4 колони
+
+int arr[3][4] = { { 1, 2, 3, 4 }, { 9, 8, 7, 6 }, { 11, 12, 13, 14 } }; // изреждаме редовете
+
+int matrix3[3][4] = { 1, 2, 3, 4, 9, 8, 7, 6, 11, 12, 13, 14 }; // изреждаме елементите
+
+int matrix4[][4] = { 1, 2, 3, 4, 9, 8, 7, 6, 11, 12, 13, 14 }; // можем да изпуснем най-лявата спецификация на дължина
+
+```
+
+![enter image description here](https://i.ibb.co/XbMWhW8/im.png)
+### Достъп до елемент.
+
+ ```c++
+ int* row = arr[1]; //ред 1 (масивът на индекс 1)
+ std::cout << arr[2][0]<< std::endl //11;
+ std::cout << row[2]<< std::endl //7;
+```
+
+### Примери с n-мерни масиви.
+
+ ```c++
+ int cube[3][3][3]; // създава се тримерен масив
+```
+ ### Достъп до елемент.
+
+ ```c++
+ int* row = cube[1][0][3];
+ cube[2] // двумерен масив;
+ cube[2][1] // едномерен масив;
+```
+
+
+Примерна имплементация на:
+
+ - Играта tic-tac-toe с поле NxN, произволна дължина на линията и произволен брой играчи.
+
+**Задача 1:** Напишете функция, която приема матрица NxN и транспонира матрицата.
+
+**Задача 2:** Напишете функция, която приема матрица NxN и проверява дали релацията, която представлява матрицата, е релация на еквивалентност.
+
+## Проект: Мinesweeper
+
+Да се реализира в **конзолна** играта **Мinesweeper**.
+Целта на играта е да се разкрият всички квадратчета, които не съдържат мини , без да щракнем върху мина преди това. Разположението на мините може да се разбере логически, с помощта на цифрички, стоящи се на местата на квадратчетата след щракане върху тях. Цифрите показват колко квадратчета, в които има мини, има в съседство. Ако се щракне върху квадратче, което няма мини (стои числото 0) в съседство, то разкрива съседните, ако някое от тези разкрити също няма мини в съседство, то също разкрива съседните квадратчета и тн...
+
+![enter image description here](https://i.ibb.co/F4YY0ST/beginner.png)
+
+[Онлайн версия на играта](http://minesweeperonline.com/#)
+
+
+**Забележка: От вас не се изисква създаването на графичен интерфейс. Играта трябва да бъде конзолна апликация.**
+
+В конзолата трябва да изпълнявате команди от вида:
+
+> [command] [x coordinate] [y coordinate]
+
+Където [command] е **open**, **mark** или **unmark**, а след него стоят координатите на квадратчето.
+
+ - **open** - отваря квадратчето. Ако там седи мина - край на играта!
+ - **mark** - маркира квадратчето като "мина". Ако всички мини са маркирани
+ и всички други квардратчета са отворени, играта прилкючва с успех!
+ - **unmark** - отмаркира квадрачето като "мина". Ако квадратчето не е било
+ маркирано, то се извежда подходящо съобщение за грешка.
+
+При започването на играта, потребителят трябва да може да избере на каква размерност да играе (3 <= N <= 10). След това трябва да избере колко мини да бъдат "скрити".
+Броят трябва да е в интервала [1, 3N]. Ако някои от стойностите не са въведат правилно от потребителя, то трябва да се изведе подходящо съобщение и да бъде "приканен" да въведе отново.
+
+Краен срок: