Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.90/30: Рейтинг темы: голосов - 30, средняя оценка - 4.90
3 / 3 / 2
Регистрация: 15.03.2009
Сообщений: 347
1

Игра "жизнь" - разобраться в коде

16.05.2014, 19:49. Показов 6105. Ответов 31
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите разобраться в коде
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#define SIZE 20
 
int a[SIZE][SIZE],b[SIZE][SIZE];
 
int chk(int x, int y)
{
    int i=0;
    if (a[(x+SIZE-1)%SIZE][y]==1) i++;
    if (a[(x+SIZE-1)%SIZE][(y+SIZE-1)%SIZE]==1) i++;
    if (a[(x+SIZE-1)%SIZE][(y+1)%SIZE]==1) i++;
    if (a[x][(y+SIZE-1)%SIZE]==1) i++;
    if (a[x][(y+1)%SIZE]==1) i++;
    if (a[(x+1)%SIZE][(y+SIZE-1)%SIZE]==1) i++;
    if (a[(x+1)%SIZE][y]==1) i++;
    if (a[(x+1)%SIZE][(y+1)%SIZE]==1) i++;
    return i;
}
 
 
void gotoxy(short x,short y)
{
    COORD Coor;
    Coor.X=x; Coor.Y=y;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE) ,Coor);
}
 
int main()
{
    int i,j,t;
    printf("Press any key to start ");
    getch();
    system("cls");
    srand(time(NULL));
 
    for(i=0;i<SIZE;i++)
        for(j=0;j<SIZE;j++)
        {
            a[i][j]=rand()%2;
            gotoxy(i,j);
            printf("%c",a[i][j]==1?'#':' ');
        }
    while (!kbhit())
    {
        Sleep(1000);
        for(i=2;i<SIZE;i++)
            for(j=0;j<SIZE;j++)
            {
                if (t=chk(i,j)==3) b[i][j]=1;
                else if (t==2) b[i][j]=a[i][j];
                else  b[i][j]=0;
            }
 
        for (i=0; i<SIZE;i++)
            for(j=0; j<SIZE; j++)
            {
                gotoxy(i,j);
                printf("%c",b[i][j]==1?'#':' ');
                a[i][j]=b[i][j];
            }
    }
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.05.2014, 19:49
Ответы с готовыми решениями:

игра жизнь
содержимое life.cpp// Life.cpp: определяет точку входа для консольного приложения. // #include...

Игра жизнь
Помогите пожалуйста с решением. Код нужен на С++ «Жизнь» – компьютерная игра, придуманная...

Игра жизнь
Нужно написать игру &quot;Жизнь&quot; простым кодом. Только начал изучать c++

Игра Жизнь
Ну, правила игры таковы: - если клетка пустая но имеет ровно 3 соседа (вообще их 8), там...

Игра Жизнь
Написал вот такую реализацию: #include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;clocale&quot; ...

31
272 / 266 / 146
Регистрация: 02.08.2012
Сообщений: 609
16.05.2014, 20:38 2
Лучший ответ Сообщение было отмечено sektor2009 как решение

Решение

Создаются две матрицы 20х20 (a и b).
Матрица a рандомно заполняется 1 и 0.
И выводится на печать.
Потом каждую секунду запускается сначала цикл в котором вызывается функция chk(i, j),
которая в свою очередь нехитрым способом проверяет если по данным координатом матрицы а на столбце
по i и строке по j имеется 3 единицы то в ту же ячейку матрицы b приписывается 1.
Если 2 единицы то значение ячейки матрицы a приписывается матрице b.
В любом другом случае приписывается 0.
Далее цикл печати. Для печати используется функция gotoxy(i, j), которая проходит по матрице,
если наталкивается на 1 печатает #, если на 0 то пробел ' '.
В конечном итоге вся матрица заполнится пробелами.
1
3 / 3 / 2
Регистрация: 15.03.2009
Сообщений: 347
16.05.2014, 21:22  [ТС] 3
случайным образом заполняется??? 1 ??

srand(time(NULL)); или a[i][j]=rand()%2; что означает 2 ??
0
272 / 266 / 146
Регистрация: 02.08.2012
Сообщений: 609
16.05.2014, 21:44 4
Лучший ответ Сообщение было отмечено sektor2009 как решение

Решение

a[i][j]=rand()%2; рандомное число по модулю делится на 2. Результатом будет число 0 < 2, т.е. или 0 или 1.
1
3 / 3 / 2
Регистрация: 15.03.2009
Сообщений: 347
17.05.2014, 06:58  [ТС] 5
каким образом она проверяет ? КАЖДАЯ СТРОЧКА ЧТО ДЕЛАЕТ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int chk(int x, int y)
{
    int i=0;
    if (a[(x+SIZE-1)%SIZE][y]==1) i++;
    if (a[(x+SIZE-1)%SIZE][(y+SIZE-1)%SIZE]==1) i++;
    if (a[(x+SIZE-1)%SIZE][(y+1)%SIZE]==1) i++;
    if (a[x][(y+SIZE-1)%SIZE]==1) i++;
    if (a[x][(y+1)%SIZE]==1) i++;
    if (a[(x+1)%SIZE][(y+SIZE-1)%SIZE]==1) i++;
    if (a[(x+1)%SIZE][y]==1) i++;
    if (a[(x+1)%SIZE][(y+1)%SIZE]==1) i++;
    return i;
}
0
272 / 266 / 146
Регистрация: 02.08.2012
Сообщений: 609
18.05.2014, 18:40 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
int chk(int x, int y)
{
    int i=0;
    if (a[(x+SIZE-1)%SIZE][y]==1) i++; /*Проверяется содержимое ячейки выше рассматриваемой.
    К примеру, если получены координаты x = 7, y = 11 будет проверяться содержимое ячейки a[6][11].
    x = 11, y = 15 проверяется a[10][15]
    x = 3, y = 18 проверяется a[2][18]
    При x = 0 или y = 0 или x = 19 или y = 19 ситуация чуть меняется
    x = 0, y = 9 проверяется a[19][9]
    Если ячейка содержит 1, инкрементируем i.*/
    if (a[(x+SIZE-1)%SIZE][(y+SIZE-1)%SIZE]==1) i++; /*С x координатой всё то же самое.
    Меняем координату y по тому же методу.
    x = 8, y = 3 проверяется a[7][2]
    x = 0, y = 0 проверяется a[19][19]*/
    if (a[(x+SIZE-1)%SIZE][(y+1)%SIZE]==1) i++; /*Проверяется сосед по диагонали справа.
    x = 8, y = 3 проверяется a[7][4]
    x = 0, y = 0 проверяется a[19][1]*/
    if (a[x][(y+SIZE-1)%SIZE]==1) i++; /*Не трогаем х. Меняем координату у. Сосед слева по строке.
    x = 8, y = 3 проверяется a[8][2]
    x = 0, y = 0 проверяется a[0][19]*/
    if (a[x][(y+1)%SIZE]==1) i++; /*Сосед справа по строке.
    x = 8, y = 3 проверяется a[8][4]
    x = 0, y = 0 проверяется a[0][1]
    x = 19, y = 19 проверяется a[19][0]*/
    if (a[(x+1)%SIZE][(y+SIZE-1)%SIZE]==1) i++; /*Нижний сосед по диагонали слева.
    x = 8, y = 3 проверяется a[9][2]
    x = 0, y = 0 проверяется a[1][19]*/
    if (a[(x+1)%SIZE][y]==1) i++; /*Нижний сосед по столбцу.
    x = 8, y = 3 проверяется a[9][3]
    x = 19, y = 0 проверяется a[0][0]*/
    if (a[(x+1)%SIZE][(y+1)%SIZE]==1) i++; /*Нижний сосед по диагонали справа.
    x = 8, y = 3 проверяется a[9][4]
    x = 19, y = 19 проверяется a[0][0]*/
    return i;
}
1
3 / 3 / 2
Регистрация: 15.03.2009
Сообщений: 347
18.05.2014, 20:53  [ТС] 7
вопрос такой, как словами описать это
C++
1
2
for(i=2;i<SIZE;i++)
            for(j=0;j<SIZE;j++)
0
272 / 266 / 146
Регистрация: 02.08.2012
Сообщений: 609
18.05.2014, 22:00 8
sektor2009, цикл в цикле (вложенный цикл).
Чтобы обойти все элементы матрицы, запускается цикл с индексом строки и вложенный цикл с индексом столбца,
который обходит все элементы строки по индексу главного цикла.
В вашем случае а[i][j], i - индекс строки, j - индекс столбца. После обхода всех элементов строки, вложенный
цикл останавливается, инкрементируется i и вложенный цикл начинает обход элементов следующей строки и.т.д.

Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[0, 0][0, 1][0, 2][0, 3][0, 4][0, 5][0, 6]...[0, 13][0, 14][0, 15][0, 16][0, 17][0, 18][0, 19]
 
[1, 0][1, 1][1, 2][1, 3][1, 4][1, 5][1, 6]...[1, 13][1, 14][1, 15][1, 16][1, 17][1, 18][1, 19]
 
[2, 0][2, 1][2, 2][2, 3][2, 4][2, 5][2, 6]...[2, 13][2, 14][2, 15][2, 16][2, 17][2, 18][2, 19]
 
[3, 0][3, 1][3, 2][3, 3][3, 4][3, 5][3, 6]...[3, 13][3, 14][3, 15][3, 16][3, 17][3, 18][3, 19]
 
[4, 0][4, 1][4, 2][4, 3][4, 4][4, 5][4, 6]...[4, 13][4, 14][4, 15][4, 16][4, 17][4, 18][4, 19]
 
[5, 0][5, 1][5, 2][5, 3][5, 4][5, 5][5, 6]...[5, 13][5, 14][5, 15][5, 16][5, 17][5, 18][5, 19]
 
[6, 0][6, 1][6, 2][6, 3][6, 4][6, 5][6, 6]...[6, 13][6, 14][6, 15][6, 16][6, 17][6, 18][6, 19]
 
...
 
[14, 0][14, 1][14, 2][14, 3][14, 4][14, 5]...[14, 14][14, 15][14, 16][14, 17][14, 18][14, 19]
 
[15, 0][15, 1][15, 2][15, 3][15, 4][15, 5]...[15, 14][15, 15][15, 16][15, 17][15, 18][15, 19]
 
[16, 0][16, 1][16, 2][16, 3][16, 4][16, 5]...[16, 14][16, 15][16, 16][16, 17][16, 18][16, 19]
 
[17, 0][17, 1][17, 2][17, 3][17, 4][17, 5]...[17, 14][17, 15][17, 16][17, 17][17, 18][17, 19]
 
[18, 0][18, 1][18, 2][18, 3][18, 4][18, 5]...[18, 14][18, 15][18, 16][18, 17][18, 18][18, 19]
 
[19, 0][19, 1][19, 2][19, 3][19, 4][19, 5]...[19, 14][19, 15][19, 16][19, 17][19, 18][19, 19]
1
3 / 3 / 2
Регистрация: 15.03.2009
Сообщений: 347
20.05.2014, 19:41  [ТС] 9
Программа немного не правильно работает
возможно в этом ошибка
C++
1
2
3
4
5
{
                if (t=chk(i,j)==3) b[i][j]=1;
                else if (t==2) b[i][j]=a[i][j];
                else  b[i][j]=0;
            }
проверка на соседий должна такой
если 3 соседа и она пустая то поевляется новая
если 2 то она такаяж остается
как это реализовать??
если больше 3 или меньше 2 то она исчезает
0
272 / 266 / 146
Регистрация: 02.08.2012
Сообщений: 609
20.05.2014, 19:56 10
C++
1
2
3
if (t=chk(i,j)==3 && a[i][j]==0) b[i][j]=1; //Если 3 соседа и пустая
else if (t==2) b[i][j]=a[i][j];
else  b[i][j]=0;
1
3 / 3 / 2
Регистрация: 15.03.2009
Сообщений: 347
20.05.2014, 21:13  [ТС] 11
нет.. все правильно было так
C++
1
2
3
4
5
6
7
  {
                if ((t=chk(i,j))==3) b[i][j]=1; // если  имеется 3 единицы то в ту же ячейку матрицы b приписывается 1.
                else {
                    if(t==2) 
                    {b[i][j]=a[i][j];} //Если 2 единицы то значение ячейки матрицы a приписывается матрице b.
                else  b[i][j]=0;       // противном занулем
                }}
про анализировал и понял проблему...
проблема с границами т.е вот такую фигуру программа видит как вторую т.е не подвижную.. а должно из нее получиться квадрат
+++++8++8++++
+++++8++8++++
++++++88+++++
+++++++++++++
+++++++++++++
++++++88+++++
как
++++++88+++++
+++++8++8++++
+++++8++8++++
++++++88++++++
+++++++++++++
++++++++++++

Добавлено через 1 минуту
GuGo1991, помоги
0
272 / 266 / 146
Регистрация: 02.08.2012
Сообщений: 609
20.05.2014, 21:43 12
sektor2009, вот такой вывод, что не так?

Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
                    
                    
   # #     #        
   #       ###      
            ##      
  # #               
           ### ## # 
      #        #    
 #    ##            
#      #      #     
         #       #  
         #          
            #       
        #           
       #  #         
       # #          
#      #  # ##   ###
#      #   ##      #
# #    ##           
#                   
 
++++++++++++++++++++
                    
                    
    #               
    #      # #      
   #       # #      
           #  #     
              #     
       #    # # #   
      ##            
      # #           
        #           
                    
                    
                    
         #          
      #   ##      ##
#     #     #     # 
      ##   ###      
#                   
 #                  
 
++++++++++++++++++++
                    
                    
                    
   #                
          #   #     
            ##      
                    
      #      # #    
      # #           
                    
       #            
                    
                    
                    
          #         
                   #
     ##   #  #      
            #      #
            #       
                    
 
++++++++++++++++++++
                    
                    
                    
                    
             #      
                    
            ###     
       #            
       #            
       #            
                    
                    
                    
                    
                    
                    
                    
           # #      
                    
                    
 
++++++++++++++++++++
                    
                    
                    
                    
                    
            # #     
                    
             #      
      # #           
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
 
++++++++++++++++++++
                    
                    
                    
                    
                    
                    
             #      
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
 
++++++++++++++++++++
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
 
++++++++++++++++++++
1
3 / 3 / 2
Регистрация: 15.03.2009
Сообщений: 347
20.05.2014, 22:13  [ТС] 13
но тут не видно и границы не пересекаются
http://life.written.ru/ это онлайн игра жизнь

Добавлено через 13 минут
через несколько шагов я получаю такую штуку
+++++8++8++++
+++++8++8++++
++++++88+++++
+++++++++++++
+++++++++++++
++++++88+++++
из нее должно получиться квадрат
но программа ее видет как не подвижную фигуру (если визуально представить то нижнии грани касаются основной фигуры) типо так как
++++++88+++++
+++++8++8++++
+++++8++8++++
++++++88++++++
+++++++++++++
++++++++++++

Добавлено через 13 минут
надо сделать что бы программа не соединяла границы
0
3 / 3 / 2
Регистрация: 15.03.2009
Сообщений: 347
20.05.2014, 22:35  [ТС] 14
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#define SIZE 15
 
int a[SIZE][SIZE],b[SIZE][SIZE];
 
int chk(int x, int y)
{
    int i=0;
    if (a[(x+SIZE-1)%SIZE][y]==1) i++; // Проверяется содержимое ячейки выше рассматриваемой по x
    if (a[(x+SIZE-1)%SIZE][(y+SIZE-1)%SIZE]==1) i++; // Меняем координату y
   if (a[(x+SIZE-1)%SIZE][(y+1)%SIZE]==1) i++; // Проверяется сосед по диагонали справа
    if (a[x][(y+SIZE-1)%SIZE]==1) i++; // Меняем координату у. Сосед слева по строке
    if (a[x][(y+1)%SIZE]==1) i++; // y Сосед справа по строке.
    if (a[(x+1)%SIZE][(y+SIZE-1)%SIZE]==1) i++; // Нижний сосед по диагонали слева.
    if (a[(x+1)%SIZE][y]==1) i++; // Нижний сосед по столбцу. x
    if (a[(x+1)%SIZE][(y+1)%SIZE]==1) i++; //Нижний сосед по диагонали справа.
    return i;
}
 
 
void gotoxy(short x,short y) // печатаем матрицу и проверяем на 1-0
{
    COORD Coor;
    Coor.X=x; Coor.Y=y;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE) ,Coor);
}
 
int main()
{
    int i,j,t;
    printf("start ");
    getch();
    system("cls");
    srand(time(NULL));
 
    for(i=0;i<SIZE;i++)
        for(j=0;j<SIZE;j++)
        {
            a[i][j]=rand()%10; //  Матрица a рандомно заполняется 1 и 0.
            gotoxy(i,j);
            printf("%c",a[i][j]==1?'#':'.');
        }
    while (!kbhit()) // 1 , если нажата какая-либо клавиша на клавиатуре. В против*ном случае возвращается 0.
    {
        Sleep(10);
        system("PAUSE");
        for(i=2;i<SIZE;i++)
            for(j=0;j<SIZE;j++)
            {
                if ((t=chk(i,j))==3) b[i][j]=1; // если  имеется 3 единицы то в ту же ячейку матрицы b приписывается 1.
                else {
                    if(t==2) 
                    {b[i][j]=a[i][j];} //Если 2 единицы то значение ячейки матрицы a приписывается матрице b.
                else  b[i][j]=0;       // противном занулем
                }}
 
        for (i=0; i<SIZE;i++)             
            for(j=0; j<SIZE; j++)
            { 
                gotoxy(i,j);
                printf("%c",b[i][j]==1?'#':'.');
                a[i][j]=b[i][j];
                
            }
            
            
    }
    return 0;
}
проблема с границами т.е вот такую фигуру программа видит как вторую т.е не подвижную.. а должно из первой получиться квадрат...игра жизнь
+++++8++8++++
+++++8++8++++
++++++88+++++
+++++++++++++
+++++++++++++
++++++88+++++
как
++++++88+++++
+++++8++8++++
+++++8++8++++
++++++88++++++
+++++++++++++
++++++++++++

Добавлено через 53 минуты
как сделать что бы границы не граничили???

Добавлено через 40 секунд
т.е убрать тороедальную систему
0
272 / 266 / 146
Регистрация: 02.08.2012
Сообщений: 609
20.05.2014, 23:02 15
sektor2009, понятно, попробую исправить

Добавлено через 26 минут
Меняем условия, границы не должны "склеиваться":
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int chk(int x, int y)
{
    int i=0;
    if (a[(x+SIZE-1)%SIZE][y]==1 && x!=0) i++;
    if (a[(x+SIZE-1)%SIZE][(y+SIZE-1)%SIZE]==1 && x!=0 && y!=0) i++;
    if (a[(x+SIZE-1)%SIZE][(y+1)%SIZE]==1 && x!= 0 && y!=19) i++;
    if (a[x][(y+SIZE-1)%SIZE]==1 && y!=0) i++;
    if (a[x][(y+1)%SIZE]==1 && y!=19) i++;
    if (a[(x+1)%SIZE][(y+SIZE-1)%SIZE]==1 && x!=19 && y!=0) i++;
    if (a[(x+1)%SIZE][y]==1 && x!=19) i++;
    if (a[(x+1)%SIZE][(y+1)%SIZE]==1 && x!=19 && y!=19) i++;
    return i;
}
Плюс в цикле while в первом цикле for меняем первоначальное значение i на 0:
C++
1
2
3
4
5
6
7
for(i=0;i<SIZE;i++)
    for(j=0;j<SIZE;j++)
    {
        if (t=chk(i,j)==3) b[i][j]=1;
        else if (t==2) b[i][j]=a[i][j];
        else  b[i][j]=0;
    }
Вывод получился до бесконечности:
Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
/  #    ##### # ##   /
/ ## ##             #/
/                #   /
/  #     #       #   /
/ #     # #    #     /
/  #         #    # #/
/# #                 /
/#        # #   #    /
/        #      #    /
/           #   ##   /
/  #    #        #   /
/  # ###  ##  ##### #/
/ #     #     # ##  #/
/ # #       #        /
/  #  #    ## ##   # /
/           ##    #  /
/  #  #              /
/# #             # ##/
/## ###        #     /
/  #  #   # # #     #/
//////////////////////
/ # #                /
/   #    ###    ##   /
/ ###                /
/               #    /
/  #     #           /
/                    /
/                    /
/ #                  /
/          #   ##    /
/               ##   /
/   # ##   #         /
/ # #  ###        ## /
/   ####   # #    ## /
/          #  # #    /
/          #         /
/          ####      /
/ #               ## /
/  #  #              /
/   ##             ##/
/ # #                /
//////////////////////
/  #      #          /
/ # ##               /
/  #      #     ##   /
/ # #                /
/                    /
/                    /
/                    /
/                    /
/               ##   /
/              ##    /
/  # # #         ##  /
/   #     # #     ## /
/  # ###  # #    ### /
/    ##   #          /
/         ##  ##     /
/           #        /
/           ##       /
/   ##            # #/
/   ##               /
/  # #               /
//////////////////////
/   #                /
/   #                /
/ #  #               /
/  #                 /
/                    /
/                    /
/                    /
/                    /
/              ##    /
/                 #  /
/   #           #### /
/  #   #             /
/        #         # /
/   ## # ##       #  /
/          #         /
/           # #      /
/                    /
/   ##               /
/  #  #              /
/                    /
//////////////////////
/                    /
/  # #               /
/  ##                /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/              #  ## /
/                ##  /
/                # # /
/   # #   #          /
/       # #          /
/         #          /
/                    /
/                    /
/                    /
/   ##               /
/                    /
//////////////////////
/                    /
/                    /
/   #                /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                ##  /
/               ##   /
/                    /
/        #           /
/          #         /
/        #           /
/                    /
/                    /
/                    /
/                    /
/                    /
//////////////////////
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/               ##   /
/                ##  /
/                    /
/                    /
/         #          /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
//////////////////////
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                ##  /
/               ##   /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
//////////////////////
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/               ##   /
/                ##  /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
//////////////////////
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                ##  /
/               ##   /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
/                    /
//////////////////////
1
gromo
20.05.2014, 23:03
  #16

Не по теме:

сделайте меня развидеть это...

0
GuGo1991
20.05.2014, 23:07
  #17

Не по теме:

gromo, в чём проблема?

0
3 / 3 / 2
Регистрация: 15.03.2009
Сообщений: 347
20.05.2014, 23:28  [ТС] 18
к сожалению это не верное решение (((((
всеровно программа глючит с краницами .. теперь еще за рамки массива уходит
0
gromo
20.05.2014, 23:32
  #19

Не по теме:

я просто читаю вопросы ТС

0
272 / 266 / 146
Регистрация: 02.08.2012
Сообщений: 609
20.05.2014, 23:54 20
sektor2009, должно сработать.
Учитывая предыдущий пост поменяйте значение i на 0.
Если результат будет не удовлетворительным поменяйте и условия.
C++
1
2
3
4
5
6
7
8
for(i=0;i<SIZE;i++)
    for(j=0;j<SIZE;j++)
    {
        t = chk(i,j);
        if(t==3) b[i][j]=1;
        else if (t==2) b[i][j]=a[i][j];
        else  b[i][j]=0;
    }
Добавлено через 6 минут

Не по теме:

gromo, ну надо же как-то помочь человеку )

1
20.05.2014, 23:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.05.2014, 23:54
Помогаю со студенческими работами здесь

Игра жизнь
Помогите пожалуйста с решением. Код нужен на С++ «Жизнь» – компьютерная игра, придуманная...

Игра на C#, разобраться в коде
Мне помогли сделать игру на Visual C#, пытаюсь теперь разобраться с кодом программы, помогите...

Игра "жизнь" - найти и исправить ошибки в коде
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;windows.h&gt; #include...

Игра «Жизнь»
Легенда задачи: Место действия этой игры – «вселенная» – это размеченная на клетки поверхность....

Игра 'Жизнь'
Доброго времени суток. Нужно создать программу на основе игры 'Жизнь', что именно нужно: Колония...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru