Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. ```C
  2. #include <stdlib.h>
  3. #include <stdio.h>
  4. #include <time.h> //random
  5. #include <windows.h>//colors
  6.  
  7.  
  8. #define N 40
  9. #define A 'O' //alive cell
  10. #define B ' ' //dead cell
  11.  
  12. typedef struct _variables
  13. {
  14. int i;
  15. int j;
  16. int random;
  17. int cellcounter;
  18. char tab[N][N];
  19. } varstruct, *structvar;
  20.  
  21.  
  22. //prototypes
  23. void create(varstruct p);
  24. void process(varstruct p);
  25. void display(varstruct p);
  26. //
  27.  
  28.  
  29. void display(varstruct p)
  30. {
  31. for (p.i = 0; p.i < N; p.i++)
  32. {
  33. for(p.j = 0; p.j < N; p.j++)
  34. {
  35. printf("%c", p.tab[p.j][p.j]);
  36.  
  37. }
  38. printf("\n");
  39. }
  40.  
  41. //getchar();
  42. system("cls");
  43. process(p);
  44. }
  45.  
  46. void process(varstruct p)
  47. {
  48. for(p.i = 0; p.i < N; p.i++)
  49. {
  50. p.cellcounter = 0;
  51. if(p.tab[p.i][p.i] == A)
  52. p.cellcounter++;
  53. if(p.tab[p.i-1][p.i] == A)
  54. p.cellcounter++;
  55. if(p.tab[p.i+1][p.i] == A)
  56. p.cellcounter++;
  57. if(p.tab[p.i][p.i+1] == A)
  58. p.cellcounter++;
  59. if(p.tab[p.i][p.i-1] == A)
  60. p.cellcounter++;
  61. if(p.tab[p.i+1][p.i+1] == A)
  62. p.cellcounter++;
  63. if(p.tab[p.i+1][p.i-1] == A)
  64. p.cellcounter++;
  65. if(p.tab[p.i-1][p.i+1] == A)
  66. p.cellcounter++;
  67. if(p.tab[p.i-1][p.i-1] == A)
  68. p.cellcounter++;
  69.  
  70. // printf("%d\n", p.cellcounter);
  71. if(p.cellcounter >= 3)
  72. {
  73. // printf("Live cell placed for this spot\n");
  74. p.tab[p.i][p.i] = A;
  75. }
  76. else if(p.cellcounter < 3)
  77. {
  78. // printf("Dead cell placed for this spot\n");
  79. p.tab[p.i][p.i] = B;
  80. }
  81. }//end for i loop
  82. //getchar();
  83. system("cls");
  84. display(p);
  85.  
  86. }
  87.  
  88. void create(varstruct p)
  89. {
  90. //create
  91. for(p.i = 0; p.i <= N; p.i++)
  92. {
  93. p.random = rand()%2+1;
  94. if(p.random == 1)
  95. p.tab[p.i][p.i] = A;
  96. else if (p.random == 2)
  97. p.tab[p.i][p.i] = B;
  98. }
  99.  
  100. //display
  101.  
  102. for (p.i = 0; p.i < N; p.i++)
  103. {
  104. for(p.j = 0; p.j < N; p.j++)
  105. {
  106. printf("%c", p.tab[p.j][p.j]);
  107.  
  108. }
  109. printf("\n");
  110. }
  111. //getchar();
  112. system("cls");
  113. process(p);
  114.  
  115. }
  116.  
  117.  
  118. int main()
  119. {
  120. srand(time(NULL));//seeding
  121. varstruct p;
  122. create(p);
  123. //getchar();
  124. return 0;
  125. }
  126.  
  127. ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement