Форум программистов, компьютерный форум CyberForum.ru

Игра "Жизнь" - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ С Java на C++ можно ли конвертировать? http://www.cyberforum.ru/cpp-beginners/thread347435.html
Есть маленькая программка на Java: фрактальный вихрь. Можно ли её конвертировать на C++ ? Сам не силен в программировании. вот код на Java public Image createImage() { BufferedImage image = new BufferedImage(size.width, size.height, BufferedImage.TYPE_INT_RGB); Graphics graphics = image.getGraphics(); graphics.setColor(Color.WHITE); graphics.fillRect(0, 0, size.width, size.height);...
C++ Таблица факториалов На сайте http://www.habit.ru/33/348.html приводится таблица факториалов, но не все значения (как мне кажется) в ней правильны, например, 50! Или моя программа не так считает. Кто-нибудь может проверить правильность 50! http://www.cyberforum.ru/cpp-beginners/thread347413.html
C++ Глобальная константа
Глобальные константы В С глобальная константа, т. е. инициализированная глобальная переменная с модификатором const, имеет своей областью действия всю программу (доступна для внешней компоновки), как и любая переменная без const. Другими словами, ее имя заносится в список глобальных символов объектного модуля и поэтому к ней можно обращаться из любого другого исходного файла программы. В...
C++ Командная строка.
Сумма чисел. числа передаются в виде аргументов командной строки. #include <iostream> #include <locale> using namespace std; int StringToInt(const char * str, bool & err) { char * pLastChar = NULL; int param = strtol(str, &pLastChar, 10);
C++ Конструктор преобразования. http://www.cyberforum.ru/cpp-beginners/thread347367.html
Есть класс Complex с двумя элемент данными: real и image Надо написать конструктор преобразования базового типа к типу, определяемому разрабатываемым классом, т.е. Complex. Я так понимаю конструктор должен принимать один параметр. Вот только какой? Если просто значение типа int, то после преобразования получится объект класса, в котором real имеет то значение, что преобразовывалось, а image...
C++ Работа с интернетом Здраствуйте! Мне нужно написать программу на С/С++ для плотной работы с сайтами. Меня интересуют такие вопросы: как войти на сайт,работать с куками,кликать по кнопкам,заполнять формы и т.п. Подскажите пожалуйста в какую сторону копать, полезные ссылки подробнее

Показать сообщение отдельно
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
02.09.2011, 15:30     Игра "Жизнь"
Всем привет. Взялся за написание "Жизни", столкнулся с непонятными багами.

Вот мой код (сначала хочу проверить алгоритм на небольших массивах):
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
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
#include <iostream>
using namespace std;
 
void printArray ( char [][ 5 ] );
short around ( char [][ 5 ], short, short );
void deadOrAlive ( char [][ 5 ], char [][ 5 ], short, short );
void copyArrays ( char [][ 5 ], char [][ 5 ] );
void clearArray2 ( char [][ 5 ] );
 
int main ()
{
    char array [ 3 ][ 5 ] = { { 0, 0, 0, 0, 0 },
                              { 0, 1, 1, 1, 0 },
                              { 0, 0, 0, 0, 0 } };
                              
    char array2 [ 3 ][ 5 ] = { 0 };
 
    deadOrAlive ( array, array2, 1, 1 );
    deadOrAlive ( array, array2, 2, 1 );
    deadOrAlive ( array, array2, 3, 1 );
    copyArrays ( array, array2 );
    clearArray2 ( array2 );
    printArray ( array );
    
    system ( "pause" );
    return 0;
}
 
void printArray ( char array [][ 5 ] )
{
    for ( int i = 0; i < 3; i++ )
    {
        for ( int j = 0; j < 5; j++ )
            cout << array [ i ][ j ];
            
        cout << endl;
    }
}
 
short around ( char array [][ 5 ], short x, short y )
{
    short around = 0;
    
    if ( array [ y - 1 ][ x ] == 1 )
       around++;
       
    if ( array [ y - 1 ][ x - 1 ] == 1 )
       around++;
       
    if ( array [ y ][ x - 1 ] == 1 )
       around++;
       
    if ( array [ y + 1 ][ x - 1 ] == 1 )
       around++;
       
    if ( array [ y + 1 ][ x ] == 1 )
       around++;
       
    if ( array [ y + 1 ][ x + 1 ] == 1 )
       around++;
       
    if ( array [ y ][ x + 1 ] == 1 )
       around++;
       
    if ( array [ y - 1 ][ x + 1 ] == 1 )
       around++;
       
    return around;
}
 
void deadOrAlive ( char array [][ 5 ], char array2 [][ 5 ], short x, short y )
{
    if ( array [ y ][ x ] == 1 )
    {
       if ( around ( array, x, y ) != 2 )
          if ( around ( array, x, y ) != 3 )
             array2 [ y ][ x ] = 0;
    }
    else
       array2 [ x ][ y ] = array [ x ][ y ];
             
    if ( array [ y ][ x ] == 0 )
    {
       if ( around ( array, x, y ) == 3 )
          array2 [ y ][ x ] = 1;
    }       
    else
       array2 [ x ][ y ] = array [ x ][ y ]; 
}
 
void copyArrays ( char array [][ 5 ], char array2 [][ 5 ] )
{
    for ( int i = 0; i < 3; i++ )
        for ( int j = 0; j < 5; j++ )
            array [ i ][ j ] = array2 [ i ][ j ];          
}
 
void clearArray2 ( char array2 [][ 5 ] )
{
     for ( int i = 0; i < 3; i++ )
        for ( int j = 0; j < 5; j++ )
            array2 [ i ][ j ] = 0;
}
Где здесь могла затаиться ошибка?

Ну и, кто писал "Жизнь" на С++, пожалуйста, покажите код. Также буду рад услышать любые советы и рекомендации.

Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru