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

Консольный Сапер - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но в обратном порядке http://www.cyberforum.ru/cpp-beginners/thread127337.html
Пожалуйста, помогите решить задачу в C++!!! Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но в обратном порядке
C++ графика на С (анимация) Прошу помочь, кто знает, решить задачу. Вообщем вот моя задача - Три собаки расположены в вершинах равностороннего треугольника.(собак можно точками обозначить) Они движутся так, что первая собака все время держит курс на вторую, вторая – на третью, а третья – на первую. В конце концов они оказываются в центре треугольника. Нарисовать данное движение. Заранее огромнейшее спасибо! http://www.cyberforum.ru/cpp-beginners/thread127335.html
C++ хеш функции
здраствуйте! собственно проблема в хеш функциях. не могу разобратся в принципе (гугль и книги читал). сам принцип хеширования понятен, а вот его программная реализация не очень. например если у меня есть ряд целых чисел и мне надо распределить эти числа по блокам. то для каждого блока нужен массив? условие задачи таково: Дан ряд чисел, использую хэш функции распределить это число по n...
C++ добавление в контейнер без указания типов данных?
Привет, у меня проблема. Сразу перейду к коду: template <class structType> class CMyExperimentator { private: structType myStruct;
C++ Сумма цифр, стоящих на четных местах http://www.cyberforum.ru/cpp-beginners/thread127326.html
Дано число. Посчитать сумму цифр, стоящих на четных местах числа. #include<conio.h> #include<stdio.h> #include<stdio.h> #include<conio.h> main() { int n,a,summa=0,N; cout<<"Vvedite kol-vo cifr n"; cin>>n;
C++ попадание чисел в интервал Последовательность n целых чисел, n-задано. Определить,все ли числа попадают в заданный интервал . Помогите найти ошибку, всегда выводит,что "не все числа попадают в интервал" #include<iostream.h> #include<math.h> #include<conio.h> #include<stdio.h> main() { int n,k,x,y,a; cout<<"vvedite n "; подробнее

Показать сообщение отдельно
Oconor
Сообщений: n/a
16.05.2010, 15: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
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
void M1()
{
                    // сначала проверям клетку с права
                    bx = x;
                    bx += 2; // клетка справа
                    if(Mine[bx / 2][y] > 0  && Mine[bx / 2][y] < 9 && bx > 2 && bx < 17 && y > 1 && y < 16) // если мина то возвращаем значение в исходную клетку
                    {
                        cout << Mine[bx / 2][y];
                    }
 
                    if(Mine[bx / 2][y] == 9  && bx > 2 && bx < 17 && y > 1 && y < 16) // если мина то возвращаем значение в исходную клетку
                    {
                        mins++;
                    }
                    
                    if(Mine[bx / 2][y] == -1 && bx > 2 && bx < 17 && y > 1 && y < 16)       // если клетка закрытая
                    {
                        GotoXY(bx, y);              // переходим в нужную позицию
                        Mine[bx / 2][y] = 0;        // открываем ее тоесть оставляем в ней нуль 
                        //cout << Mine[bx / 2][y];  // выводим это
                    }                               // если там другое значение то оставляем все как есть
                        
                    
 
 
                    
                    bx = x; 
                    bx -= 2; //  клетка слева
                    if(Mine[bx / 2][y] > 0  && Mine[bx / 2][y] < 9 && bx > 2 && bx < 17 && y > 1 && y < 16) // если мина то возвращаем значение в исходную клетку
                    {
                        cout << Mine[bx / 2][y];
                    }
                    if(Mine[bx / 2][y] == 9  && bx > 2 && bx < 17 && y > 1 && y < 16)  
                    {
                        mins++;
                    }
                    
                    if(Mine[bx / 2][y] == -1  && bx > 2 && bx < 17 && y > 1 && y < 16)
                    {
                            
                        GotoXY(bx, y); 
                        Mine[bx / 2][y] = 0;
                        //cout << Mine[bx / 2][y];
                            
                    }
                    
                    
 
                    by = y; 
                    by += 2; //  клетка снизу 
                    if(Mine[x / 2][by] > 0  && Mine[x / 2][by] < 9 && bx > 2 && bx < 17 && y > 1 && y < 16) 
                    {
                        cout << Mine[x / 2][by];
                    }
                    if(Mine[x / 2][by] == 9 && x > 2 && x < 17 && by > 1 && by < 16) 
                    {
                        mins++;
                    }
                    if(Mine[x / 2][by] == -1  && x > 2 && x < 17 && by > 1 && by < 16)
                    {
                        GotoXY(x, by); 
                        Mine[x / 2][by] = 0;
                        //cout << Mine[x / 2][by];
                    }
                
 
                    by = y; 
                    by -= 2; //  клетка сверху
                    if(Mine[x / 2][by] > 0  && Mine[x / 2][by] < 9 && bx > 2 && bx < 17 && y > 1 && y < 16) // если мина то возвращаем значение в исходную клетку
                    {
                        cout << Mine[x / 2][by];
                    }
                    if(Mine[x / 2][by] == 9 && x > 3 && x < 16 && by > 1 && by < 14)
                    {
                        mins++;
                    }
                    if(Mine[x / 2][by] == -1 && x > 3 && x < 16 && by > 1 && by < 14)
                    {
                            
                        GotoXY(x, by); 
                        Mine[x / 2][by] = 0;
                        //cout << Mine[x / 2][by];
                    }
                    
 
                    //-----------------------// 
 
                    by = y; 
                    bx = x; 
                    bx -= 2;
                    by -= 2; //  клетка по диогонали слева сверху
                    if(Mine[bx / 2][by] > 0  && Mine[bx / 2][by] < 9 && bx > 2 && bx < 17 && y > 1 && y < 16) // если мина то возвращаем значение в исходную клетку
                    {
                        cout << Mine[bx / 2][by];
                    }
                    if(Mine[bx / 2][by] == 9 && bx > 3 && bx < 16 && by > 1 && by < 14)
                    {
                        mins++;
                        
                    }
                    if(Mine[bx / 2][by] == -1 && bx > 3 && bx < 16 && by > 1 && by < 14)
                    {
                            
                        GotoXY(bx, by); 
                        Mine[bx / 2][by] = 0;
                        //cout << Mine[bx / 2][by];
        
                    }
                    
                    //-----------------------// 
 
                    by = y; 
                    bx = x; 
                    bx += 2;
                    by += 2; //  клетка по диогонали слева сверху
                    if(Mine[bx / 2][by] > 0  && Mine[bx / 2][by] < 9 && bx > 2 && bx < 17 && y > 1 && y < 16) // если мина то возвращаем значение в исходную клетку
                    {
                        cout << Mine[bx / 2][by];
                    }
                    if(Mine[bx / 2][by] == 9 && bx > 3 && bx < 16 && by > 1 && by < 14) 
                    {
                        mins++;
                        
                    }
                    if(Mine[bx / 2][by] == -1 && bx > 3 && bx < 16 && by > 1 && by < 14)
                    {
                            
                        GotoXY(bx, by); 
                        Mine[bx / 2][by] = 0;
                        //cout << Mine[bx / 2][by];
                    }
                    
                    //-----------------------// 
 
                    by = y; 
                    bx = x; 
                    bx -= 2;
                    by += 2; //  клетка по диогонали слева сверху
                    if(Mine[bx / 2][by] > 0  && Mine[bx / 2][by] < 9&& bx > 2 && bx < 17 && y > 1 && y < 16) // если мина то возвращаем значение в исходную клетку
                    {
                        cout << Mine[bx / 2][by];
                    }
                    if(Mine[bx / 2][by] == 9 && bx > 3 && bx < 16 && by > 1 && by < 14) 
                    {
                        mins++;
                        
                    }
                    if(Mine[bx / 2][by] == -1 && bx > 3 && bx < 16 && by > 1 && by < 14)
                    {
                            
                        GotoXY(bx, by); 
                        Mine[bx / 2][by] = 0;
                        //cout << Mine[bx / 2][by];
                            
                    }
                        
                        
                    
 
                    //-----------------------// 
 
                    by = y; 
                    bx = x; 
                    bx += 2;
                    by -= 2; //  клетка по диогонали слева сверху
                    if(Mine[bx / 2][by] > 0  && Mine[bx / 2][by] < 9 && bx > 2 && bx < 17 && y > 1 && y < 16) // если мина то возвращаем значение в исходную клетку
                    {
                        cout << Mine[bx / 2][by];
                    }
                    if(Mine[bx / 2][by] == 9  && bx > 3 && bx < 16 && by > 1 && by < 14) 
                    {
                        mins++;
                        
                    }
                    if(Mine[bx / 2][by] == -1 && bx > 3 && bx < 16 && by > 1 && by < 14)
                    {
                        GotoXY(bx, by); 
                        Mine[bx / 2][by] = 0;
                        //cout << Mine[bx / 2][by];
                    }
}
 
Текущее время: 22:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru