Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 09.03.2017
Сообщений: 6
1

Игра в жизнь Конвей

29.11.2017, 16:40. Просмотров 357. Ответов 3
Метки нет (Все метки)

Чего то я намудрил помогите разобраться пожалуйста

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
#include<math.h>
#include <time.h>
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <Windows.h>
#include <iomanip>
using namespace std;
int main()
{ setlocale(LC_ALL,"Russian");
int M,N,i,j,P,p,n=0; 
cout << "Введите количество строк M = ";
cin >> M;
cout << "Введите количество столбцов N = ";
cin >> N;
cout << "Введите количество поколений P = ";
cin >> P;
 
int **pred = new int* [M];
for (int i = 0; i < M; i++) {
    pred[i] = new int[N];
}
 
 
for (int i = 0; i<M; i++) {
    for(int j = 0; j<N; j++) {
        pred[i][j]=rand() % 2;
    }
}
 
 
 for (int i = 0; i<M; i++) {
    for(int j = 0; j<N; j++) {
        cout << pred[i][j]<<"  ";
    }
 }
    int **sled = new int*[M];
for (int i = 0; i < M; i++) {
    sled[i] = pred[i];
}
for (int i = 0; i<M; i++) {
    for(int j = 0; j<N; j++) {
        sled[i][j]=pred[i][j];
        
    }
 
}
for (p=1;p<=P;p++)
{ if (pred[i][j] == 0)
                {
                    if (pred[i-1][j-1] == 1) n++;
                    if (pred[i][j-1] == 1) n++;
                    if (pred[i+1][j-1] == 1) n++;
                    if (pred[i+1][j] == 1) n++;
                    if (pred[i+1][j+1] == 1) n++;
                    if (pred[i][j+1] == 1) n++;
                    if (pred[i-1][j+1] == 1) n++;
                    if (pred[i-1][j] == 1) n++;
                    if (n == 3) sled[i][j] = 1;
                    n = 0;
                } else
                {
                    if (pred[i-1][j-1] == 1) n++;
                    if (pred[i][j-1] == 1) n++;
                    if (pred[i+1][j-1] == 1) n++;
                    if (pred[i+1][j] == 1) n++;
                    if (pred[i+1][j+1] == 1) n++;
                    if (pred[i][j+1] == 1) n++;
                    if (pred[i-1][j+1] == 1) n++;
                    if (pred[i-1][j] == 1) n++;
                    if ((n == 2) || (n == 3))
                    {
                        sled[i][j] = 1;
                        n = 0;
                    } else
                    {
                        sled[i][j] = 0;
                        n = 0;
                        
                        cout << sled[i][j]<<"  ";
                    }
 
                }
            }
        
cout<<endl;
 
system("pause");
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.11.2017, 16:40
Ответы с готовыми решениями:

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

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

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

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

3
1118 / 931 / 429
Регистрация: 25.12.2016
Сообщений: 3,030
29.11.2017, 19:37 2
Цитата Сообщение от кулебяка Посмотреть сообщение
помогите разобраться пожалуйста
А в чём собственно проблема? Программа не компилируется, вылетает, выводит бред?

Если программа работает не так, как должна, то можете просто изучить другие похожие темы - они есть внизу страницы.
0
0 / 0 / 0
Регистрация: 09.03.2017
Сообщений: 6
06.12.2017, 15:38  [ТС] 3
Ввожу размеры матрицы,количество поколений в итоге выдает такую ошибку "Run-Time Check Failure #3 - The variable 'i' is being used without being initialized".
0
1118 / 931 / 429
Регистрация: 25.12.2016
Сообщений: 3,030
06.12.2017, 16:04 4
Цитата Сообщение от кулебяка Посмотреть сообщение
variable 'i' is being used without being initialized
Так и есть: переменная i используется без инициализации, в 49 строке. И j тоже.

Добавлено через 2 минуты
В вышележащих циклах тоже есть переменные i и j, но это совсем другие переменные, живущие только внутри циклов. А в 49 строке используются переменные, определённые в начале мейна.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2017, 16:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Игра жизнь (бесконечное пространство)
Надо сделать бесконечное пространство для игры &quot;жизнь&quot;, примерно понимаю как это сделать, но что то...

Игра "жизнь" - глайдер ведет себя не так, как надо
Добрый вечер. Нужно написать игру &quot;жизнь&quot;. Реализовал,однако глайдер ведет себя не так,как надо....

Игра "Жизнь"; Нужно, чтобы первое поколение задавалось оператором (с клавиатуры)
Нужна помощь с решением задачи &quot;Жизнь&quot; на с++ Есть код программы, которая задает первое поколение...

Игра "Жизнь" с самым простым кодом
Здравствуйте, нужна помощь по написанию кода для игры &quot;Жизнь&quot; только на простом уровне, так как еще...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.