Advertisement
ithoran

V1 Z10 C++

Nov 14th, 2015
456
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.76 KB | None | 0 0
  1. // Minesweeper.h
  2. using namespace std;
  3. class Minesweeper {
  4. private:
  5.     int n;
  6.     int m;
  7.     bool** a;
  8. public:
  9.     Minesweeper();
  10.     Minesweeper(int n, int m);
  11.     ~Minesweeper();
  12.     int brVrsta() {
  13.         return n;
  14.     }
  15.     int brKolona() {
  16.         return m;
  17.     }
  18.     void ucitajMinesweeper();
  19.     void ispisiMinesweeper();
  20.     int opasnostPolja(int brV, int brK);
  21. };
  22.  
  23. // Minesweeper.cpp
  24. #include "Minesweeper.h"
  25. #include <iostream>
  26. using namespace std;
  27. Minesweeper::Minesweeper(int n, int m) {
  28.     this->n = n;
  29.     this->m = m;
  30.     a = new bool*[n];
  31.     for (int i = 0; i < n; i++) {
  32.         a[i] = new bool[m];
  33.     }
  34. }
  35. Minesweeper::Minesweeper() {
  36.     a = nullptr;
  37.     this->n = n;
  38.     this->m = m;
  39. }
  40. Minesweeper::~Minesweeper() {
  41.     if (a) {
  42.         for (int i = 0; i < n; i++) {
  43.             delete [] a[i];
  44.         }
  45.         delete [] a;
  46.     }
  47. }
  48. int Minesweeper::opasnostPolja(int x, int y) {      //Smatra se da korisnik unosi matricu tako da je prvo polje (1,1)
  49.     int i,j,br = 0;
  50.     if (a[x - 1][y - 1] == true) {
  51.         return -1;
  52.     }
  53.     else {
  54.         for (i = 0; i < 3; i++) {
  55.             for (j = 0; j < 3; j++) {
  56.                 if (x - i >= 0 && x - i < n && y - j >= 0 && y - j < m) {
  57.                     if (a[x - i][y - j] == true) {
  58.                         br++;
  59.                     }
  60.                 }
  61.             }
  62.         }
  63.     }
  64.     return br;
  65. }
  66. void Minesweeper::ucitajMinesweeper() {
  67.     for (int i = 0; i < n; i++) {
  68.         for (int j = 0; j < m; j++) {
  69.             cin >> a[i][j];
  70.         }
  71.     }
  72. }
  73. void Minesweeper::ispisiMinesweeper() {
  74.     for (int i = 0; i < n; i++) {
  75.         for (int j = 0; j < m; j++) {
  76.             cout << a[i][j];
  77.         }
  78.         cout << endl;
  79.     }
  80. }
  81.  
  82. // main.cpp
  83. #include "Minesweeper.h"
  84. #include <iostream>
  85. using namespace std;
  86. void main() {
  87.     Minesweeper mine(4,4);
  88.     int x, y;
  89.     mine.ucitajMinesweeper();
  90.     cin >> x >> y;
  91.     if (mine.opasnostPolja(x,y) < 0) {
  92.         mine.ispisiMinesweeper();
  93.     }
  94.     else {
  95.         cout << mine.opasnostPolja(x,y);
  96.     }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement