Advertisement
Guest User

Wdi

a guest
Jan 20th, 2020
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.36 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stdbool.h>
  4. int l, r, f=1;
  5. int main ()
  6. {
  7. int n, m, i;
  8. printf("podaj rozmiary miasta\n");
  9. scanf("%d%d",& n, &m);
  10. bool pom[n][m];
  11. bool tab[n][m];
  12. printf("podaj tablice poczatkowej populacji miasta\n");
  13. printf("1-zywa komorka\n");
  14. printf("0-martwa komorka\n");
  15. //printf("%d %d\n",n, m);
  16. int x, y;
  17. for(x=0; x<n; x++)
  18. {
  19. for(y=0; y<m; y++)
  20. {
  21.  
  22. scanf("%d",&tab[x][y]);
  23. if(tab[x][y]!=0 && tab[x][y]!=1)
  24. {
  25. printf("liczba nie nalezy do zbioru {0, 1}\n");
  26. return 0;
  27. }
  28. }
  29. }
  30. printf("\n");
  31. while(f!=0)
  32. {
  33. for(x=0; x<n; x++)
  34. {
  35. for(y=0; y<m; y++)
  36. {
  37. l=0;
  38. if(x!=0 && tab[x-1][y]==1)
  39. {
  40. l++;
  41. }
  42. if(x!=n-1 && tab[x+1][y]==1)
  43. {
  44. l++;
  45. }
  46. if(x!=0 && y!=0 && tab[x-1][y-1]==1)
  47. {
  48. l++;
  49. }
  50. if(x!=0 && y!=m-1 && tab[x-1][y+1]==1)
  51. {
  52. l++;
  53. }
  54. if(y!=0 && tab[x][y-1]==1)
  55. {
  56. l++;
  57. }
  58. if(y!=0 && x!=n-1 && tab[x+1][y-1]==1)
  59. {
  60. l++;
  61. }
  62. if(y!=m-1 && tab[x][y+1]==1)
  63. {
  64. l++;
  65. }
  66. if(x!=n-1 && y!=m-1 && tab[x+1][y+1]==1)
  67. {
  68. l++;
  69. }
  70. if(tab[x][y]==0)
  71. {
  72. if(l==3)
  73. {
  74. pom[x][y]=1;
  75. //komorka sie odradza
  76. }
  77. else
  78. {
  79. pom[x][y]=0;
  80. }
  81. }
  82. else if(tab[x][y]==1)
  83. {
  84. if(l>3)
  85. {
  86.  
  87. pom[x][y]=0;
  88. //komorka umiera z przeludnienia
  89. }
  90. else if(l<2)
  91. {
  92. pom[x][y]=0;
  93. //komorka umiera z samotnosci
  94. }
  95. else
  96. {
  97. //komorka przeżywa
  98. pom[x][y]=1;
  99. }
  100. }
  101. }
  102. }
  103. f=0;
  104. for(x=0; x<n; x++)
  105. {
  106. for(y=0; y<m; y++)
  107. {
  108. printf("%d ",(pom[x][y]));
  109. if(pom[x][y]!=tab[x][y])
  110. {
  111. f++;
  112. }
  113. tab[x][y]=pom[x][y];
  114. }
  115. printf("\n");
  116. }
  117. printf("\n");
  118. }
  119. return 0;
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement