Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct Point
- {
- Point *u, *d, *l, *r, *lu, *ld, *ru, *rd;
- char value;
- };
- #define SIZEM 10
- void PrintMatrix(Point m[][SIZEM])
- {
- for(int i = 0; i < SIZEM; ++i)
- {
- for(int j = 0; j < SIZEM; ++j)
- {
- std::cout << m[i][j].value;
- }
- std::cout << std::endl;
- }
- }
- void FillMatrix(Point arr[][SIZEM])
- {
- for(int i = 0; i < SIZEM; ++i)
- {
- for(int j = 0; j < SIZEM; ++j)
- {
- arr[i][j].value = 'O';
- }
- }
- }
- void LinkMatrix(Point arr[][SIZEM])
- {
- for(int i = 0; i < SIZEM; ++i)
- {
- for(int j = 0; j < SIZEM; ++j)
- {
- if(i-1 >= 0)
- arr[i][j].u = &arr[i-1][j];
- else
- arr[i][j].u = nullptr;
- if(i+1 <= SIZEM-1)
- arr[i][j].d = &arr[i+1][j];
- else
- arr[i][j].d = nullptr;
- if(j-1 >= 0)
- arr[i][j].l = &arr[i][j-1];
- else
- arr[i][j].l = nullptr;
- if(j+1 <= SIZEM-1)
- arr[i][j].r = &arr[i][j+1];
- else
- arr[i][j].r = nullptr;
- if(i-1 >= 0 && j -1 >= 0)
- arr[i][j].lu = &arr[i-1][j-1];
- else
- arr[i][j].lu = nullptr;
- if(i-1 >= 0 && j+1 <= SIZEM-1)
- arr[i][j].ru = &arr[i-1][j+1];
- else
- arr[i][j].ru = nullptr;
- if(i+1 <= SIZEM-1 && j-1 >= 0)
- arr[i][j].ld = &arr[i+1][j-1];
- else
- arr[i][j].ld = nullptr;
- if(i+1 <= SIZEM-1 && j+1 <= SIZEM-1)
- arr[i][j].rd = &arr[i+1][j+1];
- else
- arr[i][j].rd = nullptr;
- }
- }
- }
- int main()
- {
- Point arr[SIZEM][SIZEM];
- LinkMatrix(arr);
- FillMatrix(arr);
- arr[1][1].rd->rd->rd->rd->rd->value= 'X';
- PrintMatrix(arr);
- std::cin.get();
- }
Advertisement
Add Comment
Please, Sign In to add comment