| Name | Size | |
|---|---|---|
| .. | ||
| README.md | 5.8 KiB | log stats plain blame |
| tic-tac-toe.cpp | 3.8 KiB | log stats plain blame |
Многомерни масиви
Двумерни масиви.
```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++
cube[2] // двумерен масив;
cube[2][1] // едномерен масив;
cube[2][1][4] // конкретен елемент;
Примерна имплементация на:
- Играта tic-tac-toe с поле NxN, произволна дължина на линията и произволен брой играчи.
Задачи
Задача 1: Напишете функция, която приема матрица NxN и транспонира матрицата.
Задача 2: Напишете функция, която приема матрица NxN и проверява дали релацията, която представлява матрицата, е релация на еквивалентност.
Задача 3: Напишете функция, която приема матрица NxM и матрица MxK и умножава първата матрица по втората.
Задача 4: Напишете функция, която приема матрица NxN и връща обратната матрица (ако дадената е обратима). Ако матрицата не е обратима, да се отпечата подходящо съобщение.
Задача 5: Напишете функция, която приема матрица NxN+1 и решава системата от линейни уравнения, репрезентирана в матрицата.
Вход:
3 2 5 0
2-3 4 10
2 1 1 4
Изход: 4, -11.14, -12.85
Тук се решава системата:
-3x + 2y - 5z = 0
2x - 3y + 4z = 10
2x + y + z=4
Тя има решение: x = 14, y = -78/4 (-11.14), z = -90/7 (-12.85).
Важно!
Програмата трябва да засича, ако системата няма решение или има безкраен брой решения и да отпечата подходящо съобщение в този случай.
Проект: Мinesweeper
Да се реализира в конзолна играта Мinesweeper. Целта на играта е да се разкрият всички квадратчета, които не съдържат мини , без да щракнем върху мина преди това. Разположението на мините може да се разбере логически, с помощта на цифрички, стоящи се на местата на квадратчетата след щракане върху тях. Цифрите показват колко квадратчета, в които има мини, има в съседство. Ако се щракне върху квадратче, което няма мини (стои числото 0) в съседство, то разкрива съседните, ако някое от тези разкрити също няма мини в съседство, то също разкрива съседните квадратчета и тн...

Забележка: От вас не се изисква създаването на графичен интерфейс. Играта трябва да бъде конзолна апликация.
В конзолата трябва да изпълнявате команди от вида:
[command] [x coordinate] [y coordinate]
Където [command] е open, mark или unmark, а след него стоят координатите на квадратчето.
- open - отваря квадратчето. Ако там седи мина - край на играта!
- mark - маркира квадратчето като "мина". Ако всички мини са маркирани и всички други квардратчета са отворени, играта прилкючва с успех!
- unmark - отмаркира квадрачето като "мина". Ако квадратчето не е било маркирано, то се извежда подходящо съобщение за грешка.
При започването на играта, потребителят трябва да може да избере на каква размерност да играе (3 <= N <= 10). След това трябва да избере колко мини да бъдат "скрити". Броят трябва да е в интервала [1, 3N]. Ако някои от стойностите не са въведат правилно от потребителя, то трябва да се изведе подходящо съобщение и да бъде "приканен" да въведе отново.
Краен срок:
