Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <time.h>
- #include <windows.h>
- const int n = 15;
- int a[n][n] = {{0,0,0,0,0},
- {0,0,1,0,0},
- {0,0,0,1,0},
- {0,1,1,1,0},
- {0,0,0,0,0}};
- //int a[n][n];
- int p[n][n];
- int flag;
- void firstgeneration() {
- /*
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < n; j++) {
- a[i][j] = rand() % 2;
- }
- }
- */
- }
- void swap() {
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < n; j++) {
- a[i][j] = p[i][j];
- }
- }
- }
- int count(int i, int j) {
- int c = 0;
- if (a[i][(j + 1) % n] == 1) c++;
- if (a[(i + 1) % n][(j + 1) % n] == 1) c++;
- if (a[(i + 1) % n][j] == 1) c++;
- if (a[(i + 1) % n][(j - 1) % n] == 1) c++;
- if (a[i][(j - 1) % n] == 1) c++;
- if (a[(i - 1) % n][(j - 1) % n] == 1) c++;
- if (a[(i - 1) % n][j] == 1) c++;
- if (a[(i - 1) % n][(j + 1) % n] == 1) c++;
- return c;
- }
- void move() {
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < n; j++) {
- int c = count(i, j);
- if (a[i][j]) {
- if (c < 2 || c > 3) {
- p[i][j] = 0;
- flag++;
- } else {
- p[i][j] = 1;
- }
- } else {
- if (c == 3) {
- p[i][j] = 1;
- flag++;
- } else {
- p[i][j] = 0;
- }
- }
- }
- }
- }
- void output() {
- system("cls");
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < n; j++) {
- printf("%d", a[i][j]);
- }
- printf("\n");
- }
- Sleep(1000);
- }
- int main() {
- srand(time(NULL));
- firstgeneration();
- flag = 1;
- while (flag) {
- output();
- flag = 0;
- move();
- swap();
- if (flag == 0) {
- break;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement