diff options
Update README.md
1 files changed, 74 insertions, 2 deletions
| -rw-r--r-- | Sem. 09/README.md | 76 |
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 }; // можем да изпуснем най-лявата спецификация на дължина + +``` + + +### Достъп до елемент. + + ```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) в съседство, то разкрива съседните, ако някое от тези разкрити също няма мини в съседство, то също разкрива съседните квадратчета и тн... + + + +[Онлайн версия на играта](http://minesweeperonline.com/#) + + +**Забележка: От вас не се изисква създаването на графичен интерфейс. Играта трябва да бъде конзолна апликация.** + +В конзолата трябва да изпълнявате команди от вида: + +> [command] [x coordinate] [y coordinate] + +Където [command] е **open**, **mark** или **unmark**, а след него стоят координатите на квадратчето. + + - **open** - отваря квадратчето. Ако там седи мина - край на играта! + - **mark** - маркира квадратчето като "мина". Ако всички мини са маркирани + и всички други квардратчета са отворени, играта прилкючва с успех! + - **unmark** - отмаркира квадрачето като "мина". Ако квадратчето не е било + маркирано, то се извежда подходящо съобщение за грешка. + +При започването на играта, потребителят трябва да може да избере на каква размерност да играе (3 <= N <= 10). След това трябва да избере колко мини да бъдат "скрити". +Броят трябва да е в интервала [1, 3N]. Ако някои от стойностите не са въведат правилно от потребителя, то трябва да се изведе подходящо съобщение и да бъде "приканен" да въведе отново. + +Краен срок: |
