diff options
author | mRnea <[email protected]> | 2024-08-22 00:24:19 +0300 |
---|---|---|
committer | mRnea <[email protected]> | 2024-08-22 00:24:19 +0300 |
commit | 4c8409da359cf0da14214ccc939c10ac759f76a5 (patch) | |
tree | b9af87c1a47a401503992b280b5253d00957ceb6 /examples/rule110/rule110.c | |
parent | 4367febcd70e9bb7538cd168917ec3c7d3b0a6f3 (diff) |
added new examples
Diffstat (limited to 'examples/rule110/rule110.c')
-rw-r--r-- | examples/rule110/rule110.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/examples/rule110/rule110.c b/examples/rule110/rule110.c new file mode 100644 index 0000000..76f3b75 --- /dev/null +++ b/examples/rule110/rule110.c @@ -0,0 +1,23 @@ +#include <stdio.h> + +#define BOARD_CAP 100 +static int board[BOARD_CAP]; + +int main() +{ + board[BOARD_CAP - 2] = 1; + + for (size_t i = 0; i < BOARD_CAP - 2; ++i) { + for (size_t j = 0; j < BOARD_CAP; ++j) { + fputc(" *"[board[j]], stdout); + } + fputc('\n', stdout); + + int pattern = (board[0] << 1) | board[1]; + for (size_t j = 1; j < BOARD_CAP - 1; ++j) { + pattern = ((pattern << 1) & 7) | board[j + 1]; + board[j] = (110 >> pattern) & 1; + } + } + return 0; +} |