Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include<stdio.h>
- #include<stdlib.h>
- #include<math.h>
- #include"winbgi2.h"
- #include<windows.h>
- void wypelnij(int (&a)[100][100]) {
- for (int i = 0; i < 40; i++) { setlinestyle(0,1,2); line(i * 25, 0, i * 25, 1000); line(0, i * 25, 1000, i * 25); }
- for (int i = 0; i < 40; i++) {
- for (int j = 0; j < 40; j++) {
- if(a[i+1][j+1]==1) { setfillstyle(SOLID_FILL, DARKGRAY);
- rectangle(i*25,j*25,i*25+25,j*25+25);
- floodfill(i * 25 + 13, j * 25 + 13, DARKGRAY);}
- }
- }
- }
- void tzwroszada(int (&a)[100][100], int (&b)[100][100]) {
- for (int i = 1; i <= 40; i++) {
- for (int j = 1; j <= 40; j++) {
- int sum = 0;
- if (a[i-1][j-1] == 1) { sum++; }
- if (a[i][j-1] == 1) { sum++; }
- if (a[i+1][j-1] == 1) { sum++; }
- if (a[i-1][j] == 1) { sum++; }
- if (a[i+1][j] == 1) { sum++; }
- if (a[i-1][j+1] == 1) { sum++; }
- if (a[i][j+1] == 1) { sum++; }
- if (a[i+1][j+1] == 1) { sum++; }
- if (a[i][j] == 1) {
- if (sum == 2) { b[i][j] = 1; }
- else { if (sum == 3) { b[i][j] = 1; } else { b[i][j] = 0; } }
- }
- if (a[i][j] == 0) {
- if (sum == 3) { b[i][j] = 1;}else { b[i][j] = 0; }
- }
- sum = 0;
- }
- }
- }
- void zerowanie(int (&a)[100][100], int (&b)[100][100]) {
- for (int i = 0; i <100; i++) {
- for (int j = 0; j < 100; j++) {
- a[i][j] = b[i][j];
- b[i][j] = 0;
- }
- }
- }
- int a[100][100];
- int b[100][100];
- int main(void) {
- FILE* f;
- f = fopen("start.txt", "r");
- int g; fscanf(f, "%i", &g);
- for (int i = 1; i <= g; i++) {
- fscanf(f,"%i %i %i %i %i %i %i %i %i %i", &a[11][i+10], &a[12][i+10], &a[13][i+10], &a[14][i+10], &a[15][i+10], &a[16][i+10], &a[17][i+10], &a[18][i+10], &a[19][i+10], &a[20][i+10]);
- }
- fclose(f);
- //for (int i = 1; i <= g; i++) { printf("%i %i %i %i %i\n", a[1][i], a[2][i], a[3][i], a[4][i], a[5][i]); }
- int GraphDriver = DETECT, GraphMode;
- initgraph(&GraphDriver, &GraphMode, "", 1010, 1015);
- setpalette(15,DARKGRAY);
- setbkcolor(WHITE);
- cleardevice();
- for (int i = 0; i <= 1000; i++) {
- cleardevice();
- wypelnij(a);
- tzwroszada(a, b);
- zerowanie(a, b);
- Sleep(100);
- }
- int k=0; scanf("%i", &k);
- closegraph();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment