#include <vector> #include <iostream> struct Point { int x; int y; bool isAlive; }; std::vector<Point> gameBoard; std::vector<Point> bufferGirlNextDoor; std::vector<Point> bufferNewBorn; void checkNumForBorn(Point); void checkNumForDead(Point&); void checkGirlNextDoor(Point); void createGameBoard() { gameBoard.push_back(Point{ 0,0,true }); gameBoard.push_back(Point{ 1,0,true }); gameBoard.push_back(Point{ 2,0,true }); } void mainLoop() { createGameBoard(); while (true) { bufferNewBorn.clear(); for each (Point p in gameBoard) { checkGirlNextDoor(p); checkNumForBorn(Point{ p.x-1, p.y, true }); checkNumForBorn(Point{ p.x-1, p.y+1, true }); checkNumForBorn(Point{ p.x, p.y+1, true }); checkNumForBorn(Point{ p.x+1, p.y+1, true }); checkNumForBorn(Point{ p.x+1, p.y, true }); checkNumForBorn(Point{ p.x+1, p.y-1, true }); checkNumForBorn(Point{ p.x, p.y-1, true }); checkNumForBorn(Point{ p.x-1, p.y-1, true }); checkNumForDead(p); } for each (Point p in gameBoard) { if (p.isAlive) bufferNewBorn.push_back(p); } gameBoard.clear(); gameBoard = bufferNewBorn; std::cout << gameBoard.size() << std::endl; } } void checkNumForBorn(Point currentPoint) { int num = 0; bool isGirlNextDoor = false; for each (Point p in bufferGirlNextDoor) { if (p.x == currentPoint.x && p.y == currentPoint.y) { isGirlNextDoor = true; break; } } if (!isGirlNextDoor) { for each (Point p in bufferGirlNextDoor) { if (p.x > currentPoint.x - 2 && p.x < currentPoint.x + 2 && p.y > currentPoint.y - 2 && p.y < currentPoint.y + 2) ++num; //добавить после тестов if (num > 2) break; } } if (num > 2) bufferNewBorn.push_back(currentPoint); } void checkNumForDead(Point ¤tPoint) { int num = 0; for each (Point p in bufferGirlNextDoor) { if (p.x > currentPoint.x - 2 && p.x < currentPoint.x + 2 && p.y > currentPoint.y - 2 && p.y < currentPoint.y + 2 && p.x != currentPoint.x && p.y != currentPoint.y) ++num; //добавить после тестов if (num > 3) break; } if (num < 2 || num > 3) currentPoint.isAlive = false; } void checkGirlNextDoor(Point currentPoint) { bufferGirlNextDoor.clear(); for each(Point p in gameBoard) { if (p.x > currentPoint.x - 3 && p.x < currentPoint.x + 3 && p.y > currentPoint.y - 3 && p.y < currentPoint.y + 3 && p.x != currentPoint.x && p.y != currentPoint.y) bufferGirlNextDoor.push_back(p); } }
Standard input is empty
prog.cpp: In function ‘void mainLoop()’: prog.cpp:30:7: error: expected ‘(’ before ‘each’ for each (Point p in gameBoard) ^~~~ ( prog.cpp:30:19: error: expected primary-expression before ‘p’ for each (Point p in gameBoard) ^ prog.cpp:30:7: error: ‘each’ was not declared in this scope for each (Point p in gameBoard) ^~~~ prog.cpp:43:3: error: expected primary-expression before ‘for’ for each (Point p in gameBoard) ^~~ prog.cpp:42:4: error: expected ‘;’ before ‘for’ } ^ ; for each (Point p in gameBoard) ~~~ prog.cpp:43:3: error: expected primary-expression before ‘for’ for each (Point p in gameBoard) ^~~ prog.cpp:42:4: error: expected ‘)’ before ‘for’ } ^ ) for each (Point p in gameBoard) ~~~ prog.cpp:30:7: note: to match this ‘(’ for each (Point p in gameBoard) ^~~~ prog.cpp:43:7: error: expected ‘(’ before ‘each’ for each (Point p in gameBoard) ^~~~ ( prog.cpp:43:19: error: expected primary-expression before ‘p’ for each (Point p in gameBoard) ^ prog.cpp:47:18: error: could not convert ‘gameBoard.std::vector<Point>::clear()’ from ‘void’ to ‘bool’ gameBoard.clear(); ~~~~~~~~~~~~~~~^~ prog.cpp:48:28: error: expected ‘)’ before ‘;’ token gameBoard = bufferNewBorn; ^ ) prog.cpp:43:7: note: to match this ‘(’ for each (Point p in gameBoard) ^~~~ prog.cpp: In function ‘void checkNumForBorn(Point)’: prog.cpp:56:6: error: expected ‘(’ before ‘each’ for each (Point p in bufferGirlNextDoor) ^~~~ ( prog.cpp:56:18: error: expected primary-expression before ‘p’ for each (Point p in bufferGirlNextDoor) ^ prog.cpp:56:6: error: ‘each’ was not declared in this scope for each (Point p in bufferGirlNextDoor) ^~~~ prog.cpp:64:2: error: expected primary-expression before ‘if’ if (!isGirlNextDoor) ^~ prog.cpp:63:3: error: expected ‘;’ before ‘if’ } ^ ; if (!isGirlNextDoor) ~~ prog.cpp:64:2: error: expected primary-expression before ‘if’ if (!isGirlNextDoor) ^~ prog.cpp:63:3: error: expected ‘)’ before ‘if’ } ^ ) if (!isGirlNextDoor) ~~ prog.cpp:56:6: note: to match this ‘(’ for each (Point p in bufferGirlNextDoor) ^~~~ prog.cpp:66:7: error: expected ‘(’ before ‘each’ for each (Point p in bufferGirlNextDoor) ^~~~ ( prog.cpp:66:19: error: expected primary-expression before ‘p’ for each (Point p in bufferGirlNextDoor) ^ prog.cpp:72:2: error: expected primary-expression before ‘}’ token } ^ prog.cpp:71:4: error: expected ‘;’ before ‘}’ token } ^ ; } ~ prog.cpp:72:2: error: expected primary-expression before ‘}’ token } ^ prog.cpp:71:4: error: expected ‘)’ before ‘}’ token } ^ ) } ~ prog.cpp:66:7: note: to match this ‘(’ for each (Point p in bufferGirlNextDoor) ^~~~ prog.cpp:72:2: error: expected primary-expression before ‘}’ token } ^ prog.cpp: In function ‘void checkNumForDead(Point&)’: prog.cpp:78:6: error: expected ‘(’ before ‘each’ for each (Point p in bufferGirlNextDoor) ^~~~ ( prog.cpp:78:18: error: expected primary-expression before ‘p’ for each (Point p in bufferGirlNextDoor) ^ prog.cpp:78:6: error: ‘each’ was not declared in this scope for each (Point p in bufferGirlNextDoor) ^~~~ prog.cpp:84:2: error: expected primary-expression before ‘if’ if (num < 2 || num > 3) currentPoint.isAlive = false; ^~ prog.cpp:83:3: error: expected ‘;’ before ‘if’ } ^ ; if (num < 2 || num > 3) currentPoint.isAlive = false; ~~ prog.cpp:84:2: error: expected primary-expression before ‘if’ if (num < 2 || num > 3) currentPoint.isAlive = false; ^~ prog.cpp:83:3: error: expected ‘)’ before ‘if’ } ^ ) if (num < 2 || num > 3) currentPoint.isAlive = false; ~~ prog.cpp:78:6: note: to match this ‘(’ for each (Point p in bufferGirlNextDoor) ^~~~ prog.cpp: In function ‘void checkGirlNextDoor(Point)’: prog.cpp:89:6: error: expected ‘(’ before ‘each’ for each(Point p in gameBoard) ^~~~ ( prog.cpp:89:17: error: expected primary-expression before ‘p’ for each(Point p in gameBoard) ^ prog.cpp:89:6: error: ‘each’ was not declared in this scope for each(Point p in gameBoard) ^~~~ prog.cpp:94:1: error: expected primary-expression before ‘}’ token } ^ prog.cpp:93:3: error: expected ‘;’ before ‘}’ token } ^ ; } ~ prog.cpp:94:1: error: expected primary-expression before ‘}’ token } ^ prog.cpp:93:3: error: expected ‘)’ before ‘}’ token } ^ ) } ~ prog.cpp:89:6: note: to match this ‘(’ for each(Point p in gameBoard) ^~~~ prog.cpp:94:1: error: expected primary-expression before ‘}’ token } ^
Standard output is empty